目录
知识点总结
在上一节中,我们介绍了HashSet,本节中我们将继续往下讨论,介绍下一个具体类LinkedHashSet。
LinkedHashSet
LinkedHashSet是用一个链表实现来扩展HashSet类,LinkedHashSet支持对集合内的元素排序。HashSet中的元素是没有被排序的,而LinkedHashSet中的元素可以按照每个元素插入集合的顺序提取。LinkedHashSet对象是可以使用4个构造方法之一来创建的,如下图所示。
下面我们也通过一个简单的例子来测试LinkedHashSet(其实只是用LinkedHashSet来替换上一篇例子中的HashSet)。
import java.util.LinkedHashSet;
import java.util.Set;
/**
* @author magpieeeee
* @Date 2022/3/13 22:55
* @description:
*/
public class Do_03_TestLinkedHashSet {
public static void main(String[] args) {
// 创建一个set
Set<String> set = new LinkedHashSet<>();
// 向set中加入元素
set.add("Beijing");
set.add("Lichuan");
set.add("Lichuan");
set.add("Nanjing");
set.add("Shanghai");
set.add("Shenzhen");
System.out.println(set);
}
}
输出结果为:
如输出中所示,字符串按照其插入集合的顺序存储。由于LinkedHashSet是一个集合,所以该集合不能存储重复的元素。
LinkedHashSet保持了元素插入时的顺序。要强加一个不同的顺序(例如,升序或降序),可以使用下一篇中介绍的Treeset类。
tips:如果不需要维护元素被插入的顺序,就应该使用HashSet,HashSet会比LinkedHashSet更加高效。