package day23_集合;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
public class class06_LinkedHashSet {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
Set set=new LinkedHashSet();
set.add(new Integer(20));
set.add(new String("中国"));
set.add(new Object());
set.add(new Integer(99));
set.add(new String("美国"));
set.add(new Object());
Iterator iterator=set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
为什么LinkedHashSet可以做到有序呢,虽然它也是按照添加元素的哈希值进行存放的,但是它给每一个元素的首尾额外添加了两个节点,一个指向前一个元素,一个指向后一个元素,第一个元素的头节点为null,最后一个元素的尾节点为null。这是通过这些链接找到每个元素的前后元素