1.LinkedHashSet介紹
List接口: 允許元素重複,記錄先後添加順序.
Set接口: 不允許元素重複,不記錄先後添加順序.需求: 不允許元素重複,但是需要保證先後添加的順序.
LinkedHashSet:底層纔有哈希表和鏈表算法.
哈希表:來保證唯一性,.此時就是HashSet,在哈希表中元素沒有先後順序.
鏈表: 來記錄元素的先後添加順序.
import java.util.LinkedHashSet;
import java.util.Set;
public class SetDemo3 {
public static void main(String[] args) {
Set<String> set = new LinkedHashSet<>();
set.add("A");
set.add("B");
set.add("C");
set.add("D");
set.add("D");
System.out.println(set);//會記錄添加順序,不允許重複[A, B, C, D]
}
}
LinkedHashSet類是線程不安全的類,在多線程環境下想要保證線程安全.LinkedHashSet set = Collections.synchronizedSet(new LinkedHashSet(...));