java hashset排序
时间: 2023-07-20 13:45:59 浏览: 135
HashSet是一个无序的集合,它不支持按照元素的顺序进行排序。但是,如果你想按照一定的顺序遍历HashSet中的元素,可以使用TreeSet来代替HashSet。
TreeSet是一个有序的集合,它可以按照元素的自然顺序进行排序,或者按照指定的Comparator进行排序。以下是按照元素自然顺序排序的示例代码:
```java
HashSet<String> set = new HashSet<String>();
set.add("Apple");
set.add("Banana");
set.add("Pear");
set.add("Orange");
TreeSet<String> sortedSet = new TreeSet<String>(set);
System.out.println(sortedSet);
```
输出结果为:
```
[Apple, Banana, Orange, Pear]
```
注意,这里的sortedSet是一个TreeSet,它是按照元素自然顺序排序的。如果你想按照自定义的顺序排序,可以使用以下示例代码:
```java
HashSet<String> set = new HashSet<String>();
set.add("Apple");
set.add("Banana");
set.add("Pear");
set.add("Orange");
TreeSet<String> sortedSet = new TreeSet<String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
});
sortedSet.addAll(set);
System.out.println(sortedSet);
```
输出结果为:
```
[Apple, Banana, Orange, Pear]
```
这里的sortedSet也是一个TreeSet,但是它是按照不区分大小写的字母顺序排序的。你可以根据自己的需求修改Comparator的compare方法来实现不同的排序方式。
阅读全文