package andycpp;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import org.junit.Test;
/**
* Collection接口:
* List接口
* ArrayList(主要的實作類)
* LinkedList(對于頻繁的插入删除操作)
* Vector(古老的實作類,線程安全,但效率要低于ArrayList)
* Set接口 存儲無序,不可重複的元素.Set中常用的方法都是Collection下定義的。
* HashSet(主要實作類)
* LinkedHashSet
* TreeSet
* */
public class TestSet {
/*
* LinkedHashSet:使用連結清單維護了一個添加進集合中的順序。導緻當我們周遊LinkedHashSet集合元素時,時按照添加進去的順序周遊的。
* LinkedHashSet插入性能略低于hashSet(因為插入同時還有維護一個連結清單),但在通路Set裡的全部元素時有很好的性能
* */
@Test
public void testHashSet(){
Set set = new LinkedHashSet();
set.add(123);
set.add(456);
set.add(new String("AA"));
set.add(new String("AA"));
set.add("BB");
set.add(null);
Iterator iterator = set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}