Java常用集合(Collection、List、Set、Map)

比较几种集合的异同点

一、Collection集合(有序、不唯一、无下标)
是java所有集合的顶级父类接口
(掌握)常用方法:
add(E e) 添加元素
clear() 清空集合中的元素
contains(Object o) 判断集合中是否包含这个元素o
isEmpty() 判断集合是否为空
iterator() 迭代器
remove(Object o)删除指定元素o
size()集合大小

二、List集合(有序、不唯一、有下标)
继承了Collection接口,拥有Collection集合的所有方法,通过多态创建对象,与Collection集合不同的是,List集合有下标
(1)ArrayList集合:底层数据结构是数组
优点:查询快(给了下标直接查询到某个元素)
缺点:增删慢(因为涉及到许多元素的后移或者前移)

(2)LinkedList集合:底层数据结构是链表结构
优点:增删快(不涉及元素位移,只需要将插入位置的前后元素的地址指向改一下即可)
缺点:查询慢(将集合分为两部分,前半部分从前往后查询,后半部分从后往前查询)
相比于ArrayList集合,LinkedList集合特有的方法是对集合的第一位和最后一位有了直接的操作方法

三、Set集合(无序、唯一、没有下标)
继承Collection接口,拥有Collection集合的所有方法,通过多态方式创建对象
(1)HashSet集合
底层数据结构是哈希表,元素唯一的原因是通过hashCode()和equals()方法

(2)TreeSet集合
底层数据结构是二叉树,与之前所有的集合相比,特有的地方是它提供了compareTo(Object o)方法和比较器,用于对集合中的元素进行排序

compareTo(Object o):在实体类中实现Compareable接口,再重写compareTo的方法,o表示在集合中已经存在的元素,this表示当前添加的元素

比较器:在测试类中创建TreeSet对象的时候通过匿名类的方式进行创建,重写方法的内容写法跟compareTo方法中的一样

四、Map集合
是一种 键=值 的一种集合,一个键映射一个值,在集合中键是唯一的,不可重复的,一个键只能对应一个值,值可以相同

常用方法:
put(key,value);key不相同是,表示添加的意思,如果有过相同的key了,再通过这个方法,那就表示修改的意思
get(key);根据key获取对应的value值
remove(key);根据key删除对应的value值
keySet();获取所有的key,并放在Set集合中
entrySet();获取所有的key,value放在Set集合中

五、总结
(1)带有下标的集合
只有有关于List的集合才有下标

(2)遍历
集合的通用遍历方式有两种:增强for和迭代器遍历
有下标的还可以通过普通for循环遍历

(3)什么时候用什么集合
有序、不唯一:List
无序、唯一:Set
查询快:ArrayList
增删快:LinkedList
能够对元素进行排序:TreeSet
能够存储特定元素的:HashSet
只确定用List:ArrayList
只确定是Collection集合:ArrayList
只确定用集合:ArrayList

参考文章:
java集合总结:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值