HashSet是基于Hash算法实现的,其性能通常优于TreeSet,我们通常都应该使用
HashSet,在我们需要排序的功能时,我门才使用TreeSet
TreeSet类型是J2SE中唯一可实现自动排序的类型,用法如下:
MyComparator.java
TreeSetTest.java
HashSet,在我们需要排序的功能时,我门才使用TreeSet
TreeSet类型是J2SE中唯一可实现自动排序的类型,用法如下:
MyComparator.java
1package test;
2
3import java.util.Comparator;
4
5public class MyComparator<T> implements Comparator<T> {
6
7 public int compare(T arg0, T arg1) {
8 if (arg0.equals(arg1)) {
9 return 0;
10 }
11 return ((Comparable<T>) arg0).compareTo(arg1) * -1;
12 }
13
14}
TreeSetTest.java
import java.util.Iterator;
4import java.util.TreeSet;
5
6public class TreeSetTest {
7
8 /** *//**
9 * @param args
10 */
11 public static void main(String[] args) {
12
13 MyComparator<String> myComparator = new MyComparator<String>();
14
15 // /不添加自定义排序
16 TreeSet<String> treeSet1 = new TreeSet<String>();
17 treeSet1.add("c");
18 treeSet1.add("a");
19 treeSet1.add("b");
20
21 Iterator<String> iterator1 = treeSet1.iterator();
22 while (iterator1.hasNext()) {
23 System.out.println(iterator1.next());
24 }
25
26 // /添加自定义排序
27 TreeSet<String> treeSet2 = new TreeSet<String>(myComparator);
28 treeSet2.add("c");
29 treeSet2.add("a");
30 treeSet2.add("b");
31
32 Iterator<String> iterator2 = treeSet2.iterator();
33 while (iterator2.hasNext()) {
34 System.out.println(iterator2.next());
35 }
36 }
37
38}
39