本篇文章主要介绍了" Java 对象排序详解",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!很难想象有Java开发人员不曾使用过Collection框架。在Colle...
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!
很难想象有Java开发人员不曾使用过Collection框架。在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet、TreeSet,我们经常处理这些Collections的排序。
在本文中,我将主要关注排序Collection的ArrayList、HashSet、TreeSet,以及最后但并非最不重要的数组。

让我们看看如何对给定的整数集合(5,10,0,-1)进行排序:
数据(整数)存储在ArrayList中
private void sortNumbersInArrayList() {
List integers = new ArrayList<>();
integers.add(5);
integers.add(10);
integers.add(0);
integers.add(-1);
System.out.println("Original list: " +integers);
Collections.sort(integers);
System.out.println("Sorted list: "+integers);
Collections.sort(integers, Collections.reverseOrder());
System.out.println("Reversed List: " +integers);
}
输出:
Original list: [5, 10, 0, -1]
Sorted list: [-1, 0, 5, 10]
Reversed List: [10, 5, 0, -1]
数据(整数)存储在HashSet中
private void sortNumbersInHashSet() {
Set integers = new HashSet<>();
integers.add(5);
integers.add(10);
integers.add(0);
integers.add(-1);
System.out.println("Original set: " +integers);
// Collections.sort(integers); This throws error since sort method accepts list not collection
List list = new ArrayList(integers);
Collections.sort(list);
System.out.println("Sorted set: "+list);
Collections.sort(list, Collections.reverseOrder());
System.out.println("Reversed set: " +list);
}
输出:
Original set: [0, -1, 5, 10]
Sorted set: [-1, 0, 5, 10]
Reversed set: [10, 5, 0, -1]
在这个例子中(数据(整数)存储在HashSet中),我们看到HashSet被转换为ArrayList进行排序。在不转换为ArrayList的情况下,可以通过使用TreeSet来实现排序。TreeSet是Set的另一个实现,并且在使用默认构造函数创建Set时,使用自然排序进行排序。
数据(整数)存储在TreeSet中