Java集合类

Collection接口是集合类的根接口,没有直接的实现类;Set和List继承了Collection接口;Set中不能包含重复的元素;
List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。

Map是Java.util包中的另一个接口,和Collection接口相互独立;
Map包含了key-value对,Map不能有重复的key,但可有相同的value。

Iterator,所有的集合类都实现了Iterator接口,用于遍历集合中元素,主要有以下三种方法:
1.hasNext()是否还有下一个元素。
2.next()返回下一个元素。
3.remove()删除当前元素。

1、List(有序、可重复)
List存放对象是有序且可重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。

2、Set(无序、不能重复)
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。

3、Map(键值对、键唯一、值不唯一)
Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。

Vector和ArrayList

  1. vector是线程同步、安全的,而arraylist是线程异步、不安全的;不考虑线程安全用arraylist效率比较高。
  2. vector增长率为当前数组长度的100%,而arraylist为50%;集合中数据量较大用vector有优势。

ArrayList和LinkedList
ArrayList和LinkedList在用法上没有区别,但是在功能上还是有区别的。LinkedList经常用在增删操作较多而查询操作很少的情况下,ArrayList则相反。

HashMap与TreeMap
1、HashMap通过hashcode对其内容快速查找,而TreeMap中元素保持固定顺序。需要得到有序结果用TreeMap(HashMap中元素排列顺序不固定)。
2、Map中易于插入、删除和定位元素;TreeMap适合按顺序或自定义顺序遍历键。

HashTable与HashMap
1、同步性:Hashtable线程安全,是同步的;而HashMap线程序不安全,不同步的。
2、HashMap允许存在一个为null的key,多个为null的value 。
3、hashtable的key和value都不允许为null。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值