List和Set以及map的区别(图解)

本文详细介绍了List中的ArrayList和LinkedList,以及Set中的HashSet和TreeSet的区别。List允许重复元素,Set则不允许多余的元素。ArrayList是顺序存储,适合查询;LinkedList适合频繁的插入删除操作。HashSet是哈希表实现,无序;TreeSet是二叉树实现,自动排序。此外,文章还提及了Map中的HashMap和HashTable,HashMap非线程安全且允许null键值,HashTable则相反。最后提到了HashMap和TreeMap的性能特点,推荐在大多数情况下使用HashMap,仅在需要排序时使用TreeMap。
摘要由CSDN通过智能技术生成

list和set的区别:

如下图所示:list中可以有重复元素,set中不可以。

 

 

具体解释:

1.list:ArrayList和LinkedList是我们常用的数据结构,它们都是线性表,ArrayList是顺序存储的线性表,LinkedList是链式存储的线性表。

LinkedList:

LinkedList是一个双向链表, 当数据量很大或者操作很频繁的情况下,添加和删除元素时具有比ArrayList更好的性能。但在元素的查询和修改方面要弱于ArrayList。

ArrayList:顺序表如下。

1 2 3 4  

2.set:HashSet和TreeSet的区别两者主要在实现方式、数据是否有序以及是否可以放入null值等三方面存在区别。

一、实现方式

HashSet:HashSet是哈希表实现的。

TreeSet:TreeSet是二叉树实现的。

二、数据是否有序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值