LinkedHashSet在java.util包下 所以使用它是需要导包的
他继承了hashset 也带有其中一个特性
他的底层数据结构 有两个 一个是哈希 一个是链表 所以 他既能保存数据添加时的顺序 又能保证数据的唯一性
我们先来看一段代码
import java.util.LinkedHashSet;
public class text {
public static void main(String args[]) throws customException {
LinkedHashSet<Integer> list = new LinkedHashSet<Integer>();
list.add(123);
list.add(456);
list.add(789);
for(int link : list) {
System.out.println(link);
}
}
}
运行结果如下
可以看到 他保留了我们添加时的顺序 说明 他比他父辈强一些
然后我们再来测试一下唯一性
public static void main(String args[]) throws customException {
LinkedHashSet<Integer> list = new LinkedHashSet<Integer>();
list.add(123);
list.add(456);
list.add(789);
list.add(123);
list.add(456);
list.add(789);
for(int link : list) {
System.out.println(link);
}
}
运行结果如下
可以看到 我们第二轮的数据一个都没加进去 说明 这个集合是不会出现重复数据的 和他父辈带有一样的特性
可以说比起HashSet是有过之而无不及啊