问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java arraylist 的sort怎么用

发布网友 发布时间:2022-04-22 22:52

我来回答

1个回答

热心网友 时间:2023-10-07 06:55

在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator
实现方法public int compare(Object o1, Object o2) 最为重要..

举个例子:
package book.arrayset;

import java.util.Comparator;

/**
* 整数比较器,将整数按降序排列
*/
class MyIntComparator implements Comparator{

/**
* o1比o2大,返回-1;o1比o2小,返回1。
*/
public int compare(Object o1, Object o2) {
int i1 = ((Integer)o1).intValue();
int i2 = ((Integer)o2).intValue();
if (i1 < i2){
return 1;
}
if (i1 > i2){
return -1;
}
return 0;
}
}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* 对List中的元素排序
*/
public class SortList {

public static void output(List list){
if (list == null){
return;
}
for (int i=0; i<list.size(); i++){
System.out.print(list.get(i).toString() + " ");
}
System.out.println();
}

public static void main(String[] args) {
List list = new ArrayList();
list.add(new Integer(5));
list.add(new Integer(8));
list.add(new Integer(1));
list.add(new Integer(3));
list.add(new Integer(2));
list.add(new Double(3.1));
System.out.println("list开始状态");
SortList.output(list);
//Collections.sort方法将用默认比较器排列list的元素
Collections.sort(list);
System.out.println("list被默认比较器排序后的状态");
SortList.output(list);
//下面将list的元素按降序排列
Collections.sort(list, new MyIntComparator());
System.out.println("list被自定义比较器排序后的状态");
SortList.output(list);

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,
//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。
//然后采用Collections.sort(list, comparator);方法对容器进行排序。
}
}
用Java中ArrayList类实现一个冒泡排序

public static &lt;T&gt; void sort(List&lt;T&gt; list,Comparator&lt;? super T&gt; c)根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较(也就是说,对于列表中的任意 e1 和 e2 元素,c.compare(e1, e2) 不得抛出 ClassCastException)。此排序被保证是稳定的:不...

java中的SORT怎么用

List&lt;User&gt; list = new ArrayList&lt;User&gt;();//此处add user2再add user1 list.add(user2);list.add(user1);Collections.sort(list);for(User u : list){ System.out.println(u.getName());} } 第二种方法是根据Collections.sort重载方法来实现,例如:public static void main(String[] arg...

java中list里面存放map,根据map中的某两个个字段进行排序

用Collections.sort(List list, Comparator c)实现一个Comparator即可 public class MyComparator implements Comparator { public int compare(Object o1, Object o2) { Map m1=(Map)o1, m2=(Map)o2;//从m1与m2取字段值然后比较,大于返回1,等于返回0,小于返回-1 } public boolean equals(Object ...

为什么我的ArrayList点不出sort()方法?我的是jdk1.8

public void listSort1(){ List&lt;Integer&gt; list = new ArrayList&lt;Integer&gt;(); list.add(1); list.add(55); list.add(9); list.add(0); list.add(2); Collections.sort(list);//使用Collections的sort方法 for(int a :list){ System.out.println(a); } ...

C# arraylist 排序

可以使用ArrayList的Sort()方法 使用Sort方法,可以对集合中的元素进行排序。Sort有三种重载方法,声明代码如下所示。public void Sort();//使用集合元素的比较方式进行排序public void Sort(IComparer comparer);//使用自定义比较器进行排序public void Sort(int index, int count, IComparer comparer)//...

java ArrayList&lt;Integer&gt;如何从小到大排列?

public static void main(String args[]) { ArrayList&lt;Integer&gt; list = new ArrayList&lt;Integer&gt;();for (int i = 0; i &lt; 10; i++) { list.add((int) (Math.random() * 100));} Collections.sort(list);System.out.println(Arrays.toString(list.toArray()));} ...

java 怎么将List里面数据排序

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

java中用到ArrayList.sort()为什么会出现“使用了未经检查或不安全的...

存在类型匹配隐患,在个人用一般没问题,自己能确认类型无误,在main()上面加@SuppressWarnings("unchecked")就行 要是给别人用或者教常用和可能以后需要扩展,还是改了好。1,.Student类的定义改为class Student implements Comparable&lt;Student&gt; 2.类中的方法改为 public int compareTo(Student s) { ret...

java如何对ArrayList中对象按照该对象某属性排序

有几个方法可以实现:让 Student 实现Comparable接口,或是实例化一个比较器,现在用 Comparator 比较器实例来做一个:ComparableTest.java import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class ComparableTest { public static void main(String[] args) { Co...

java数组sort()方法降序怎么排

java数组sort()方法降序方式:用Arrays类sort()对数组元素进行降序排列 import java.util.Arrays;class SortDemo { public static void main(String[] args){ int[] vec={0,15,-14,45,20,70};Arrays.sort(vec);System.out.println("/n");System.out.println("降序排列:");for (int i=vec...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
迪奥520属于什么颜色 中航飞机起落架有限责任公司 中航飞机起落架燎原分公司有哪些机械? 各机械分别都加工些什么零件? 陕西汉中城固燎原起落架公司怎么样?我是学数控的想进,该怎么办? 中航飞机起落架燎原分公司职工待遇怎么样 ...第一天上班,没有签劳动合同。是挂靠的物流公司,老板不? ...厂里入了货物险,可物流公司却叫我赔偿,说保险是厂里入 离婚的原因有哪些呢 导致离婚的十大原因分别是什么? 离婚的五大原因? java程序:创建一个顺序表类创建一个顺序表输出该顺序表然后将顺序表中的元素逆序排列输出新的顺序表。 arraylist重写,按数字排序 求十大敢动中国人物! Java 数组倒序输出? java如何将数组倒序打印? java 中,如何将1~100的偶数所组成的List集合倒序排列,谢谢! Arraylist有没有简单的排序方法 java ArrayList 降序排序问题 java 集合中怎么将元素倒序排列 对List集合倒序排序怎么排 java 怎么才能倒序输出ArrayList VB中,ArrayList内的数据如何根据添加时间倒序排列? ArrayList&lt;String&gt;倒序如何输出 如何实现ArrayList的反转排序? 执法机关和行政机关有区别吗? 司法机关和执法机关有什么区别,具体举例说明 中华人民共和国人民法院是国家的什么机关 人民法院依法审理行政诉讼案件属于行政执法吗 执法机关有什么? 我国的人民法院是国家的什么机关 List&lt;WorkItem&gt; newResult=new ArrayList&lt;WorkItem&gt;(); 把数据装进list集合后,如何按时间排序,取前10条 在java编程中如何对数组进行排序,并输出排序后的数组及原数组下标值 用Java中ArrayList类实现一个冒泡排序 java ArrayList&lt;Integer&gt;如何从小到大排列? 股票中,消费板块是哪些板块? 微信支付里投诉商家后怎么撤销投诉 不撤销会怎样 对自己有影响吗 “合”字的意思是什么? “和”、“合”两字的区别? “合”与“阖”有什么区别? 合和阖有什么区别是什么? 数学中的“合”,到底是什么意思,比如1平方米 合 多少平方分米? 阖与合有什么区别? 如何将装过食用油的塑料瓶的内壁洗干净? 如何清洗大号食用油瓶子底部油垢 什么牌子的电压力锅好? 食用油油壶内部有些脏,怎样清洗干净 怎样洗油瓶? 油瓶该怎么清洗? 压力效果最好的电压力锅 电压力锅什么牌子好?
  • 焦点

最新推荐

猜你喜欢

热门推荐