List 和 Set的区别?

List和Set是Java集合框架中的重要接口,List允许元素重复并保持插入顺序,如ArrayList和LinkedList;Set不允许重复,无特定顺序,如HashSet和提供排序功能的TreeSet。ArrayList通过数组实现,查询快但增删慢,适合索引访问。LinkedList适合频繁增删,而Vector是线程安全但效率低的过时类。
摘要由CSDN通过智能技术生成

List和Set区别?
List和Set都是常用的集合接口,可以通过这两个接口去实现集合类。List可以实现的集合类有:ArrayList、LinkedList和Vector。Set可以实现的集合类有:HashSet和TreeSet。
List和Set的区别主要是:
List集合类中的元素是可以重复,存在下标,元素是有顺序。
Set集合类中的元素是唯一的,不存在下标,元素是无序的。
List集合类:
1、ArrayList
ArrayList是通过数组实现的,所以查询块、增删慢。它是一种线程不安全、效率高的集合类。
2、LinkedList
LinkedList是通过链表实现的,所以查询慢、增删快。它是一种线程不安全、效率高的集合类
3、Vector
Vector是通过数组实现的,所以查询块、增删慢。它是一种线程安全、效率低的集合类。(现在已经不怎么使用了)
Set集合类
1、HashSet
HashSet通过哈希码来保存元素,所以可以防止元素重复。它是一种无序的,线程不安全,运行效率高,常用的集合类
2、TreeSet
TreeSet基于树状结构,可以实现排序功能,支持自然排序(即对于基本数据类型可以实现默认升序排列)。但是如果是特殊类型,比如对象、数组、集合,则需要通过比较器对象自定义排序规则。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值