java集合

集合的定义:是一个存放数据的容器,存放的是数据对象引用的容器。主要有三种类型:set集、list(列表)和map(映射)。

集合的特点:集合用于存储对象的容器,对象用来封装数据,对象多了也需要进行存储式集中管理。和数组对比对象大小不确定。数组需要提前定义大小,集合的长度是可变的。

和数组的区别:数组的长度是固定的,集合的长度是可变的。数组可以存储基本数据类型也可以存储引用数据类型。集合只能存储引用数据类型。数组存储的元素必须是同一数据类型,集合可以存储不同的数据类型。

Map接口和Collection接口是所有集合框架的父接口:collection接口的子接口包括Set接口和List接口。Map接口的实现类有:HashMap、TreeMap、HashTable、ConcurrentHashMap、Properties等。Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等。List接口主要有:ArrayList、LinkedList、Stack、Vector等。

List:一个有序,可以存放重复元素的集合,可以插入多个null元素,元素都有索引。

Set:一个无序,不可以存放相同元素的容器,只允许插入一个null元素,必须保证元素的一致性。

Map:是一个键值对存储的集合,存储键、值和之间的映射。key无序,唯一;value不要求有序,允许重复。

线程安全的集合类:Vector、hashTable、ConcurrentHashMap。

迭代器Iterator:Iterator接口提供了遍历任何Collection的接口。可以在Collection中使用迭代器来获取一个迭代器实例,允许调用者在迭代过程中移除元素,使用Iterator.remove()方法。特点是只能单向遍历,但是更加安全。

遍历list的三种方式:for循环遍历,迭代器遍历,foreach遍历(内部也是Iterator来实现的)。

HashSet实现原理:HashSet的值是存放在HashMap的Key上,HashMap的值统一为present。

HashSet检索元素重复:判断元素是否重复不仅需要通过比较hash值,还需要结合equles方法来比较。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值