精华内容
下载资源
问答
  • java 怎么将List里面数据排序

    千次阅读 2021-02-12 12:24:13
    ArrayList底层是用一个长度为62616964757a686964616fe4b893e5b19e3133333264316410的Object数组实现,不管添加进去什么类型的数据,都会转换成Object对象,除非你用很早以前的JDK版本。这样就好理解了,像你写的程序...

    展开全部

    不好意思,上午只是粗略地看了一下,没有细致看,现在详细回答你的提问。

    ArrayList底层是用一个长度为62616964757a686964616fe4b893e5b19e3133333264316410的Object数组实现,不管添加进去什么类型的数据,都会转换成Object对象,除非你用很早以前的JDK版本。这样就好理解了,像你写的程序arrayList1中add了String和Integer两种类型的数据,这两类对象没有什么可比性,就像拿打火机和U盘比一个性质。所以,是没有办法进行直接排序的。

    你要求的是要按ArrayList里面的第1、2、4数据进行排序,这个可以。

    先来arrayList1

    四个数据分别是2、"daas"、6、"1",第1、2、4数据即2、“daas”、“1”,我选择按照String类型进行排序,所以第1个数据2转换成String类型即可。因为第3个数据6不进行排序,remove就好。这是个题还是个什么,其实还是留了点活路的,因为后面的(你arrayList2\3\4下面)代码都是往arrayList1中添加的,而且还都是String类型。这也是我选择String类型进行排序的原因。代码如下:

    List arrayList1 = new ArrayList();

    arrayList1.add(2); //0

    arrayList1.add("daas"); //1

    arrayList1.add(6); //2

    arrayList1.add("1"); //3

    list.add(arrayList1);

    //my code

    String convert = String.valueOf(arrayList1.get(0));

    arrayList1.remove(2);

    arrayList1.remove(0);

    arrayList1.add(convert);

    /此处为你的arrayList2\3\4代码

    Collections.sort(arrayList1);

    for(int i = 0; i < arrayList1.size(); i++) {

    System.out.println(arrayList1.get(i));

    }

    结果为:

    1

    2

    3

    5

    8

    daas

    因为怕你深挖,强调两点:

    第一点,由结果看出Collections.sort(arrayList1),是以String的ASCII码进行排序的,为了证明这一点,就要看原代码,这时你就会发现JDK中String的compareTo方法是个空实现,底层并不是用java写的,这点没事,我们可以用一定的方法让它把特征暴露出来,然后就可以理解思想。你看我下面写的小测试程序就会明白。

    String a = new String("Z");

    String b = new String("A");

    System.out.println(a.compareTo(b));

    String c = new String("A");

    String d = new String("B");

    System.out.println(c.compareTo(d));

    //看结果,证明String的自然顺序比较即比较ASCII值,只是第一步。

    //看结果,证明compareTo返回值是后面的ASCII码减支前面的ASCII码,第二步。

    String e = new String("g");

    String f = new String("e");

    String h = new String("h");

    List list = new ArrayList();

    list.add(e);

    list.add(f);

    list.add(h);

    Collections.sort(list);

    for(String i : list) {

    System.out.println(i);

    }

    结果为:

    25

    -1

    e

    g

    h

    //证明String的自然排序即ASCII码从小到大排序,最后一步。

    第二点,你的要求是“要按ArrayList里面的第1、2.4数据进行排序,分别怎么做啊”,这个问题的描述有问题,或者不详细,arryList2、arrayList3、arrayList4任何一个里面一共就add了3个数据,哪来第4个。如果是分别对arrayList2\3\4里面的数据进行排序,两个选择,(1)把所有Integer转换成String类型,再排序,参考arrayList2。(2)运用Integer.valueOf()方法,将内容为数字的String数据转换成Integer,把原来的remove掉,把内容非数字的String数据remove掉,再排序,桶排序、冒泡排序、快速排序等你随便选。

    讲解到这,不管想对哪个list进行排序,你应该都会写了。

    总结:除非比较ASCII码,Integer类型和内容为非数字的String类型数据是没有办法进行比较的,不管是直接比较,还是间接比较。还是上面那句话,像打火机和U盘没有可比性一样,理解这点很重要。

    即使用Integer.valueOf()方法对内容为非数字的String类型数据进行转换没有用,会报NumberFormatException。说这点意思是如果你想按Integer类型排序,得把所有内容为非数字的String类型数据remove掉。

    题外话:这种类型的题我记得上大学的时候有,不知道你是不是学生,今天想来,其实用处真不大,都用泛型,现在写代码不用泛型的程序员几乎是完全不存在了。

    祝心情愉快~~

    亲手打,如果满意,把分给我吧~~哈哈。。

    展开全文
  • 数组中相同数据的删除问题(一维数组、排序、循环) 【问题描述】 对一维数组中存储的数据首先进行从小到大的排序(冒泡、选择、插入、快速排序均可),然后删除序列中相同的数据,仅保留一个,最后输出数组中的数据...
    1. 第4次实验(数组+指针+字符串)
    2. 编程题
    3. 1. 数组中相同数据的删除问题(一维数组、排序、循环)

    【问题描述】

    对一维数组中存储的数据首先进行从小到大的排序(冒泡、选择、插入、快速排序均可),然后删除序列中相同的数据,仅保留一个,最后输出数组中的数据。务必自行设计函数实现排序功能、删除功能、数组元素录入及个数统计功能、数组元素输出的功能等。

    提示:删除时,可额外申请另一个数组存放结果,用len表示新的长度。

    for(i=对原一维数组下标的依次循环,原长度为n)

    {   将a[i]放入新的数组b[len];len++;

         for(j=从i+1开始向后循环)

        {  如果a[j]!=a[i],则跳出;否则继续i++,j++}

    }


    【输入形式】一些随机的数据,输入-1代表输入结束

    【输出形式】删除后的结果,注意:最后一个数据后面有一个空格

    【样例输入】9 9 0 32 2 78 2 8 5 3 1 9 0 2 6 6 7 -1

    样例输出】0 1 2 3 5 6 7 8 9 32 78

    #include<iostream>
    using namespace std;
    int len=0;
    void Delete(int *a,int n,int *b)
    {
        int i,j;
        for(i=0;i<=n-1;i++)
        {
            b[len]=a[i];
            len++;
            for(j=i+1;j<=n-1;j++)
            {
                if(a[j]!=a[i]) break;
                else i++;
            }
        }
    }
    void Sort(int *b,int n)
    {
        int i,j,m;
        for(i=0;i<=n-1;i++)
        {
            for(j=i+1;j<=n-1;j++)
            {
                if(b[j]>b[i])
                {
                    m=b[j];
                    b[j]=b[i];
                    b[i]=m;
                }
            }
        }
    }
    
    int main()
    {
        int n=1,a[60],i=0,b[60];
        cin>>a[0];
        while(a[i]!=-1)
        {   i++;
            cin>>a[i];
            n++;
        }
        n--;
        Sort(a,n);
        Delete(a,n,b);
        for(i=len-1;i>=0;i--)
        {
            cout<<b[i]<<" ";
        }
    }
    展开全文
  • 使用ORDER BY对重复记录的数据进行排序。让我们首先创建一个表-mysql>createtableDemoTable788(FirstNamevarchar(100),Scoreint);使用插入命令在表中插入一些记录-mysql>insertintoDemoTable788values('Chris'...

    使用ORDER BY对重复记录的数据进行排序。

    让我们首先创建一个表-mysql> create table DemoTable788 (

    FirstName varchar(100),

    Score int

    );

    使用插入命令在表中插入一些记录-mysql> insert into DemoTable788 values('Chris',78);

    mysql> insert into DemoTable788 values('Robert',67);

    mysql> insert into DemoTable788 values('Chris',98);

    mysql> insert into DemoTable788 values('Chris',56);

    mysql> insert into DemoTable788 values('Robert',43);

    mysql> insert into DemoTable788 values('Robert',97);

    mysql> insert into DemoTable788 values('Chris',79);

    使用select语句显示表中的所有记录-mysql> select *from DemoTable788;

    这将产生以下输出-+-----------+-------+

    | FirstName | Score |

    +-----------+-------+

    | Chris     | 78    |

    | Robert    | 67    |

    | Chris     | 98    |

    | Chris     | 56    |

    | Robert    | 43    |

    | Robert    | 97    |

    | Chris     | 79    |

    +-----------+-------+

    7 rows in set (0.00 sec)

    以下是对重复记录的数据进行排序的查询。我们正在为重复名称'Chris'排序数据-mysql> select Score from DemoTable788 where FirstName='Chris' order by Score DESC;

    这将产生以下输出-+-------+

    | Score |

    +-------+

    | 98    |

    | 79    |

    | 78    |

    | 56    |

    +-------+

    4 rows in set (0.00 sec)

    展开全文
  • order by 加上主键 例1: ORDER BY Time DESC,ID 例2:使用条件构造器 wrapper.last(“order by Time DESC,ID”);

    order by 加上主键
    例1:
    ORDER BY Time DESC,ID
    例2:使用条件构造器
    wrapper.last(“order by Time DESC,ID”);

    展开全文
  • 常见数据处理方法

    千次阅读 2021-05-14 09:09:29
    有时候更多数据处理从语言角度,调用不同api处理数据。但是从业务的角度想就很少了,最近从业务的角度了解了下常见数据处理的方法,总结如下:
  • python中对数据进行各种排序的方法

    千次阅读 2021-02-10 09:13:46
    在本文中,我们将探讨使用Python排序数据的各种技术。请注意,sort()原始数据被破坏,sorted()没有对原始数据进行操作,而是新建了一个新数据。一、基本的排序最基本的排序很简单。只要使用sorted()函数即可返回一个...
  • 用python对表格数据进行排序
  • excel表格两列相同数据对应

    千次阅读 2020-12-31 10:10:46
    本文收集整理关于excel表格两列相同数据对应的相关议题,使用内容导航快速到达。内容导航:Q1:如何让excel表格中的两列数据相同的排列在一行修改一下公式:=IF(COUNTIF($C$2:$C$100,$A2)=0,IF(AND($A2="",ROW(A1)&...
  • 话题:如何让excel表格中的几列数据相同的名称数据排列在一行 如下图回答:使用分类汇总分类字段为型号汇总项为所有日期汇总方式选择求和在左侧分级中选择第二级话题:如何将excel表格中的两列数据相同的排列在一行...
  • 查询一个表中某两个字段的相同数据代码是:Select Name,ID From A group by Name,ID having count (*)>1。结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,...
  • 用 Python 排序数据的多种方法目录【Python HOWTOs系列】排序Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭代对象(iterable)排序为一个新的有序列表。本文我们将去探索...
  • 相同元素值时的快速排序——对经典快速排序划分过程的改进 最近做数据结构的课程设计,遇到了这样一道题:用尽可能高的效率分解三种不同数据 如:132123212 --> 11222233 不难看出这道题很像快速排序(quick ...
  • 一、问题://一个会话id代表一个聊天室,返回该聊天室最新的一条数据显示在会话列表,二、解决思路:使用row_number() over 分组排序功能 来解决该问题;*1、语法格式:row_number() over(partition by 分组列 order ...
  • 总结了这67个pandas函数,完美解决数据处理,拿来即用!
  • 分组把要的IMEI拿出来之后,再把相关的时间列表塞进去,至于能不能一句话直接塞进去,这种处理大概没有吧?至少我还写不出来publicclassTestObj{publicstringIMEI{get;set;}publicDateTimeCreateTime{get;set;}}//...
  • 二叉排序树建立(插入)出现相同值的处理 什么是二叉排序树(二叉搜索树) 二叉排序树(二叉搜索树)(Binary Sort Tree)或者是一颗空树;或者是具有下列性质的二叉树: (1)若左子树不为空,则左子树上所有结点的值...
  • mysql orderby值相同排序规律

    千次阅读 2020-12-21 10:10:19
    如果结果都一样就按照系统默认的排序排。 如果是 innodb引擎,会根据主键大大小,由小到大。 如果是myisam引擎,就根据数据插入顺序先后来排。
  • 数学建模之数据处理

    千次阅读 2021-01-24 11:35:38
    前言:数据预处理是美赛C题最重要的组成部分,十分考验我们对问题的理解与抽象,我们的重心应该放在数据处理而非算法上,算法只需选择合适的即可,无需高大上!下面介绍数模中数据预处理涉及到的一些重要。 1.数据...
  • 关于element ui 表格中相同数据合并显示问题 1,创建返回字符串信息 data(){ return { tableData:[], ordernum:'', orders:'', prodname:'', value1:'', rowspan:'', rowspans:'' } }, 2,接受后端数据并...
  • 1.数据排序 DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,kind="quicksort",na_position="last",ignore_index=False) """ by:要排序的名称列表 axis:轴,0表示行,1表示列 ascending:升序或者...
  • 数据结构初阶】第一篇——八大经典排序算法之插入排序总结(图解+动图演示+代码实现+八大排序比较)
  • pandas数据处理——取出重复数据

    千次阅读 2021-03-11 17:09:19
    平常我们用pandas做重复数据处理时,常常调用到drop_duplicates方法,来去除重复保留唯一值。 现在我不想去除重复,而是把整个重复数据输出,数据如下所示: https://www.cnblogs.com/trotl/p/11876292.html ...
  • pandas案例:旅游数据处理

    万次阅读 2021-11-11 13:05:14
    根据下方出的全国旅游景点数据,完成以下任务: 使用 Pandas 读取全国旅游景点数据文件,使用 id 列作为索引; 去掉景点级别(level)字段(列)中数据的“景区”二字,字段中数据是 ‘\N’ 的情况不进行处理。如:...
  • 获取服务器传来的数组数据进行,找出其中价格相同的进行数量相加,合并该段数据:/** 先将传来的订单列表进行四舍五入,再将价格相同的订单进行合并* @param {Object} orderList :要进行操作的订单*/async ...
  • 数据结构:排序(Sort)【详解】

    千次阅读 多人点赞 2021-03-12 12:11:01
    友情链接:数据结构专栏 目录排序【知识框架】排序概述一、排序的相关定义二、排序用到的结构与函数常见的排序算法一、冒泡排序 排序 【知识框架】 排序概述 一、排序的相关定义 排序,就是重新排列表中的元素,...
  • pandas比较两个dataframe特定数据列的数值是否相同出差值:使用np.where函数 目录 pandas比较两个dataframe特定数据列的数值是否相同出差值:使用np.where函数 #比较数据列数值或者内容是否相同的语法 #...
  • SPSS 数据排序

    千次阅读 2021-02-21 22:51:37
    一、数据排序 数据排序的意义:数据排序在数据分析过程中非常重要,其便于了解数据的取值状况,SPSS可以对数据基于一个或多个个案(变量)进行排序。数据排序包括个案排序和变量排序,下面我将介绍这两种排序的操作...
  • 盘点13种流行的数据处理工具

    千次阅读 2021-12-02 00:11:51
    导读:我们来看一些流行的数据处理工具。作者:所罗伯·斯里瓦斯塔瓦(Saurabh Shrivastava)、内拉贾利·斯里瓦斯塔夫(Neelanjali Srivastav)来源:大数据D...
  • 需求:数据先按照id 属性 从小到大排序,如果 id 相同的 再按照 sid 从小到大 排序,实现: var data = [ {"id": 1, "sid": 1}, {"id": 2, "sid": 2}, {"id": 3, "sid": 4}, {"id": 1, "sid": 3}]; data.sort...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,249,264
精华内容 899,705
关键字:

如何给相同的数据排序