Java集合框架篇-57-LinkedHashSet基本概述和使用

      这篇,学习一个HashSet类的子类,叫LinkedHashSet,看名称就大概明白是什么作用。LinkedHashSet是底层用链表实现的一种HashSet集合。前面我们知道,链表存储是List的一种实现方式,最明显的特点就是能保证元素的存入和取出顺序是一致的。这个特点,刚好弥补了Set集合无序的缺点。

 

1.API阅读关于LinkedHashSet

 

       具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到 set 中的顺序(插入顺序)进行迭代。例如,插入元素顺序是a-b-c-d,迭代输出属性也是a-b-c-d。

       LinkedHashSet的构造方法有4个,然后没有一个自己的成员方法,想方法都是使用父类或者间接父类的方法。例如添加元素add()方法就是Set集合的方法。

 

2.LinkedHashSet代码简单演示

下面写一个LinkedHashSet,写一个添加元素,然后打印遍历元素的代码。

package hashset;

import java.util.LinkedHashSet;

public class Demo1_LinkedHashSet {

	public static void main(String[] args) {
		LinkedHashSet<String> lhs = new LinkedHashSet<>();
		//1.添加元素
		lhs.add("a");
		lhs.add("a");
		lhs.add("a");
		lhs.add("b");
		lhs.add("b");
		lhs.add("c");
		lhs.add("c");
		lhs.add("d");
		
		//2.直接打印集合
		System.out.println(lhs);
		
		//3 for each实现迭代
		for (String string : lhs) {
			System.out.println(string);
		}
	}

}

输出:

[a, b, c, d]
a
b
c
d

3.LinkesdHashSet特点总结

1)是HashSet的一个子类,所以也是能保证元素唯一的,和HashSet原理一样

2)底层是链表实现的,是Set集合中唯一一个能保证怎么存就怎么取的集合对象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值