1 package cn.learn.collection.Set; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 import java.util.LinkedHashSet; 6 7 /* 8 java.LinkedHashSet extends HashSet集合 9 特點:底層是一個哈希表(數組+鏈表/紅黑樹)+鏈表,多的一條鏈表記錄元素順序 10 */ 11 public class LinkedHashSet_HashSet { 12 public static void main(String[] args) { 13 HashSet<String> set=new HashSet<>(); 14 set.add("dsa"); 15 set.add("a"); 16 set.add("b"); 17 System.out.println(set); //[a, b, dsa]無序,且不允許重復 18 19 LinkedHashSet<String> linked=new LinkedHashSet<>(); 20 linked.add("ds"); 21 linked.add("a"); 22 linked.add("b"); 23 System.out.println(linked); //[ds,a,b]有序序,且不允許重復 24 //雖然有序,但沒有get方法,但無法使用索引值,還是需要用迭代器,可用for來獲取指定元素 25 Iterator iter = linked.iterator(); 26 //取第二個元素 27 for (int i = 2; i > 0 ; i--) { 28 if(iter.hasNext()){ 29 if (i == 1) { 30 System.out.println(iter.next()); //a 31 } 32 iter.next(); 33 } 34 } 35 } 36 }
