您的位置:首页 > 教育 > 培训 > [JAVA] 应用Collections实现集合List排序

[JAVA] 应用Collections实现集合List排序

2024/10/6 1:40:04 来源:https://blog.csdn.net/2301_79757798/article/details/141322652  浏览:    关键词:[JAVA] 应用Collections实现集合List排序

Collections是Java中一个实用类,它提供了一系列对集合进行操作的静态方法。

下面我们通过代码来理解利用Collections实现对数值的排序

新建类ListSorter

package Package1;import java.util.ArrayList;
import java.util.List;public class ListSorter {public static void main(String[] args) {List<Integer> list=new ArrayList<>();   //用ArrayList对整型列表进行存储list.add(70);           //添加数据list.add(90);list.add(30);list.add(50);System.out.println(list);// 此处创建了一个包含 70、90、30、50 的整数列表,并将其打印出来}
}

List<Integer> list=new ArrayList<>();

在Java中创建了一个整数类型的列表对象。

List是一个接口,它定义了一些操作列表的方法,如添加,删除,获取元素

ArrayList是List接口的一个实现类,通过使用new ArrayList<>()来创建一个具体的ArrayList对象,并赋值给List类型的引用变量list

运行结果:

 

 按照默认情况下,list中的数据按照我们插入数据顺序排序,但在实际开发中,我们时常需要对数据进行排序操作,这里我们就可以学习利用Collections接口实现排序操作

在类中增加方法名 sort 实现排序操作

public class ListSorter {public List<Integer> sort(List<Integer> list){  Collections.sort(list); //对数据进行升序排列System.out.println(list);return list; //封装了一个排序方法,会将排序后的list集合返回值进行返回}}

public List<Integer> sort(List<Integer> list){ :

public表示该方法是公共的,可以在任何地方被访问。

方法声明:List<Integer>是方法的返回类型,意味着该方法将返回一个包含整数的列表
方法参数:List<Integer> list表示接受一个整数类型的列表作为输入参数

方法体内部:Collections.sort(list):使用Collections类的sort方法对传入的列表进行升序排序

                     return list:将排序后的列表返回给调用者

在主函数调用 

public static void main(String[] args) {List<Integer> list=new ArrayList<>();   //用ArrayList对整型列表进行存储list.add(70);           //添加数据list.add(90);list.add(30);list.add(50);System.out.println(list);ListSorter listSorter=new ListSorter();   //创建listSorter对象,初始化操作,并分配存储空间List<Integer> list1= listSorter.sort(list);//调用对象的sort方法,并将之前创建的list对象传入,该方法对传入的列表进行排序后存储在list1中System.out.println(list1);}
}

运行结果:

 

针对sort方法,默认实现的是升序排列,如果要实现降序排列 ,则在以上代码的基础上新加一个内部类SampleComparator

 class SampleComparator implements Comparator<Integer> {  //定义类并实现Comparator接口方法@Override//70 90 30 50//结果>0,则交换位置//结果=0或小于0,则位置不变public int compare(Integer o1, Integer o2) {return o2-o1;} //实现Comparator方法

在引用sort方法中加入刚定义的类名参数

 Collections.sort(list,new SampleComparator()); //加入类名参数

运行结果:

 

可以看到结果按照升序排序 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com