HashSet<String> hashSet = new HashSet<>();
hashSet.add("a");
hashSet.add("a");
hashSet.add("c");
hashSet.add("b");
hashSet.add("e");
System.out.println("添加順序\n[a,c,b,e]");
System.out.println("HashSet\n" + hashSet);
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("a");
linkedHashSet.add("a");
linkedHashSet.add("c");
linkedHashSet.add("b");
linkedHashSet.add("e");
System.out.println("LinkedHashSet\n" + linkedHashSet);
TreeSet<String> treeSet = new TreeSet<>();
treeSet.add("a");
treeSet.add("a");
treeSet.add("c");
treeSet.add("b");
treeSet.add("e");
System.out.println("TreeSet預設構造器\n"+treeSet);
TreeSet<String> treeSet2 = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int result = o1.compareTo(o2);
if(result > 0){
return -1;
}else if(result < 0){
return 1;
}
return 0;
}
});
treeSet2.add("a");
treeSet2.add("a");
treeSet2.add("c");
treeSet2.add("b");
treeSet2.add("e");
System.out.println("TreeSet自定義Comparator構造器\n" + treeSet2);
System.out.println();
System.out.println("TreeSet:"+treeSet);
System.out.println("first():" + treeSet.first());
System.out.println("last():" + treeSet.last());
System.out.println("ceiling(\"d\") >= :" + treeSet.ceiling("d"));
System.out.println("floor(\"d\") <= :" + treeSet.floor("d"));
System.out.println("higher(\"d\") > :" + treeSet.higher("d"));
System.out.println("lower(\"d\") < :" + treeSet.lower("d"));
System.out.println("subSet(\"a\",\"b\") :" + treeSet.subSet("a","b"));
System.out.println("subSet(\"a\",true,\"b\",true) :" + treeSet.subSet("a",true,"b",true));
System.out.println("tailSet(\"b\") :" + treeSet.tailSet("b"));
System.out.println("tailSet(\"b\",false) :" + treeSet.tailSet("b",false));
System.out.println("擷取并删除第一個pollFirst():"+treeSet.pollFirst());
System.out.println("擷取并删除最後一個pollLast():" + treeSet.pollLast());
添加順序
[a,c,b,e]
HashSet
[a, b, c, e]
LinkedHashSet
[a, c, b, e]
TreeSet預設構造器
[a, b, c, e]
TreeSet自定義Comparator構造器
[e, c, b, a]
TreeSet:[a, b, c, e]
first():a
last():e
ceiling("d") >= :e
floor("d") <= :c
higher("d") > :e
lower("d") < :c
subSet("a","b") :[a]
subSet("a",true,"b",true) :[a, b]
tailSet("b") :[b, c, e]
tailSet("b",false) :[c, e]
擷取并删除第一個pollFirst():a
擷取并删除最後一個pollLast():e