这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战」
前言
1 | 复制代码 大家好,我是程序猿小白 GW_gw,很高兴能和大家一起学习进步。 |
在读本篇之前希望读者先了解HashSet类,这样对与LinkedHashSet类的学习会更加容易。可以参考以下链接:
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
1 | 复制代码 本文主要介绍Java集合的LinkedHashSet类的基本特点和常用的方法。 |
1. LinkedHashSet类
1.1 什么是LinkedHashSet类
LinkedHashSet继承了HashSet。与HashMap有所不同的是它底层使用LinkedHashMap来实现,即在HashMap的基础上新增加了一个双向链表来确保迭代有序(迭代的元素顺序和插入的元素顺序相同)。因此性能略低于HashSet,但是迭代访问元素时将具有很好的性能,因为它的内部是以链表来实现。
允许存放null元素,此实现不是同步的。
1.2 LinkedHashSet类的构造方法
LinkedHashSet有四个构造方法,如下:
LinkedHashSet() 构造一个带默认初始容量 (16) 和加载因子 (0.75) 的新空链接哈希 set。 |
---|
LinkedHashSet(Collection c) 构造一个与指定 collection 中的元素相同的新链接哈希 set。 |
LinkedHashSet(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的新空链接哈希 set。 |
LinkedHashSet(int initialCapacity, float loadFactor) 构造一个带有指定初始容量和加载因子的新空链接哈希 set。 |
实例展示:
1 | ini复制代码public class LinkedHashSetTest { |
可以看到,输出元素的顺序和插入元素的顺序是一致的,这是LinkedHashSet类的一大特点。
1.3 LinkedHashSet类的普通方法
LinkedHashSet并没有自己独有的方法,LinkedHashSet的方法都是从父类HashSet继承和实现Set接口和Object类而来,这里就不再赘诉。
小结
以上就是LinkedHashSet类的一些介绍,到此我们已经把Set集合中的一些常用类学完了,接下来我们继续来学习Collection集合中的List集合。以上内容希望对读者有所帮助,如有不足之处,欢迎留言指正。
本文转载自: 掘金