HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;
LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。
示例代码::
1 package com.test2; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 import java.util.LinkedHashSet; 6 import java.util.List; 7 import java.util.Set; 8 import java.util.TreeSet; 9 10 public class set { 11 12 public static void linkedhashset() { 13 // 以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代; 14 System.out.println("这里是LinkedHashset:"); 15 Set<String> set = new LinkedHashSet<String>(); 16 set.add("aaa"); 17 set.add("d"); 18 set.add("z"); 19 set.add("aaa"); 20 set.add("bbb"); 21 for (Iterator<String> iter = set.iterator(); iter.hasNext();) { 22 String str = iter.next(); 23 System.out.println(str); 24 } 25 26 } 27 28 public static void treeset() { 29 // 提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。 30 System.out.println("这里是TreeSet:"); 31 Set<String> set = new TreeSet<String>(); 32 set.add("aaa"); 33 set.add("d"); 34 set.add("z"); 35 set.add("aaa"); 36 set.add("bbb"); 37 for (Iterator<String> iter = set.iterator(); iter.hasNext();) { 38 String str = iter.next(); 39 System.out.println(str); 40 } 41 42 } 43 44 public static void hashset() { 45 // 哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放 46 System.out.println("这里是HashSet:"); 47 Set<String> set = new HashSet<String>(); 48 set.add("aaa"); 49 set.add("d"); 50 set.add("z"); 51 set.add("aaa"); 52 set.add("bbb"); 53 for (Iterator<String> iter = set.iterator(); iter.hasNext();) { 54 String str = iter.next(); 55 System.out.println(str); 56 } 57 58 } 59 60 public static void main(String[] args) { 61 linkedhashset(); 62 hashset(); 63 treeset(); 64 65 } 66 67 }
结果输出:
这里是LinkedHashset:
aaa
d
z
bbb
这里是HashSet:
aaa
bbb
d
z
这里是TreeSet:
aaa
bbb
d
z