集合排序的2种方式

Seal^_^ 2024-08-18 12:35:02 阅读 70

集合排序的2种方式

1、使用有序集合进行排序1.1 TreeSet1.2 TreeMap

2、使用Collections.sort()进行排序3、总结

💖The Begin💖点点关注,收藏不迷路💖

本文将介绍两种主要的集合排序方式:使用有序集合(如TreeSet或TreeMap)和使用无序集合(如List)结合Collections.sort()方法。

1、使用有序集合进行排序

Java中的有序集合,如TreeSet和TreeMap,会自动对添加的元素进行排序。这种排序是基于元素的自然顺序(实现了Comparable接口)或者通过提供的Comparator比较器来完成的。

1.1 TreeSet

TreeSet是一个不包含重复元素的集合,它实现了NavigableSet接口,可以通过元素的自然顺序或者创建TreeSet时传入的Comparator进行排序。

示例:

<code>import java.util.TreeSet;

public class TreeSetExample {

public static void main(String[] args) {

TreeSet<Integer> set = new TreeSet<>();

set.add(3);

set.add(1);

set.add(2);

// 遍历TreeSet,元素将按照自然顺序排列

for (Integer num : set) {

System.out.print(num + " ");

}

}

}

输出:

1 2 3

1.2 TreeMap

TreeMap是一个基于红黑树的NavigableMap实现,它根据键的自然顺序或者创建TreeMap时传入的Comparator进行排序。

示例:

import java.util.TreeMap;

public class TreeMapExample {

public static void main(String[] args) {

TreeMap<String, Integer> map = new TreeMap<>();

map.put("Zebra", 1);

map.put("Apple", 2);

map.put("Banana", 3);

// 遍历TreeMap,键将按照自然顺序排列

for (String key : map.keySet()) {

System.out.println(key + " -> " + map.get(key));

}

}

}

输出:

Apple -> 2

Banana -> 3

Zebra -> 1

2、使用Collections.sort()进行排序

对于无序集合,如ArrayList,我们可以使用Collections.sort()方法来进行排序。这个方法可以接收一个实现了List接口的集合,并对其进行排序。排序可以是基于元素的自然顺序(元素需要实现Comparable接口),或者通过提供一个Comparator比较器来完成。

示例:

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

public class ListSortExample {

public static void main(String[] args) {

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

list.add(3);

list.add(1);

list.add(2);

// 使用Collections.sort()进行排序

Collections.sort(list);

// 遍历List,元素将按照自然顺序排列

for (Integer num : list) {

System.out.print(num + " ");

}

}

}

输出:

1 2 3

3、总结

Java提供了两种主要的方式来对集合进行排序:

1、使用有序集合(如TreeSet和TreeMap)和使用无序集合结合Collections.sort()方法。

2、有序集合在添加元素时自动进行排序,而无序集合则需要显式调用Collections.sort()方法。

在这里插入图片描述

💖The End💖点点关注,收藏不迷路💖



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。