Set集合另一强悍的类LinkedHashSet

本文介绍了Java中LinkedHashSet集合的特点,它既能保证元素唯一性又能保持插入顺序。通过代码示例展示了如何使用LinkedHashSet,并解释了其运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 LinkedHashSet概述

LinkedHashSet集合也是根据元素hashCode值来决定元素存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的。也就是说,当遍历LinkedHashSet集合里元素时,HashSet将会按元素的添加顺序来访问集合里的元素。

LinkedHashSet需要维护元素的插入顺序,因此性能略低于HashSet的性能,但在迭代访问Set里的全部元素时将有很好的性能,因为它以链表来维护内部顺序。

 

2 代码示例

import java.util.*;

public class LinkedHashSetTest
{
	public static void main(String[] args)
	{
		LinkedHashSet books = new LinkedHashSet();
		books.add("Java");
		books.add("Linux");
		books.add("C++");
		books.add("算法");
		System.out.println(books);
		// 删除 Java
		books.remove("Java");
		// 重新添加 Java
		books.add("Java");
		System.out.println(books);
	}
}

 

3 运行结果

[Java, Linux, C++, 算法]
[Linux, C++, 算法, Java]

 

4 运行说明

输出LinkedHashSet集合中的元素时,元素的顺序总是和添加顺序一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值