Collection

集合Collection

1. List: 有序, 带索引, 可以重复元素

  a. ArrayList: 数组,内存中连续,查询快,增删慢。

  b. LinkedList: 链表(值+下一个元素的内存地址),增删快,查询慢

2. Set: 无序, 不带索引,不可重复

  a.HashSet, 内部实现了HashMap, 允许null元素,底层由hashtable实现, 存储取出都比较快, jdk1.7中hashtable由数组加链表组成,jdk1.7之后hashtable由数组+红黑树组成。HashSet判断重复,先判断hash值是否相同,再用要加入的值判断是否equals(已有的值),若是都相等,则判定重复。(HashCode常规协定:若两个对象equals返回true,则他们的hashcode一定相等,而两个对象equals不相等,不要求一定生成不一样的hashcode,但为不相等的对象生成不同的hashcode可以提高程序性能,这是程序员应该意识到的。)

 b.LinkedHashSet 继承自HashSet,具有顺序,存储和取出结果是一样的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值