码迷,mamicode.com
首页 > 其他好文 > 详细

Collection体系

时间:2020-02-11 16:17:30      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:必须   线程安全   dal   array   contain   info   原来   nal   shm   

  • 技术图片
  • Collection体系提供的常??法:
  1. new: new ArrayList(Collection), new ArrayList()
  2. R: size()/isEmpty()/contains()/for()/stream()
  3. C/U: add()/addAll()/retainAll()
  4. D: clear()/remove()/removeAll()
  • List无限容量的原理:list本质是数组,它有个默认的最大初始容量,当放不下时,它会自动扩容。每次add一个元素时,它会判断当前容量能否放得下,如果不能,就创建一个更大的数组,将原来的复制进去
  • Java世界?第?重要的约定:hashCode
  1. 同?个对象必须始终返回相同的hashCode 
  2. 两个对象的equals返回true,必须返回相同的hashCode 
  3. 两个对象不等,也可能返回相同的hashCode
  4. 拥有相同HashCode的对象,存放在同一个Hash桶中
  • Map里面的坑:Map.keySet()返回key的Set集合,但是如果Map里面修改了key,那么Set也会相应改变
  • HashMap里面key的Set其实就是HashSet。
  • HashMap是非线程安全的,所以需要多线程时要用ConcurrentHashMap。HashMap在多线程的情况下,扩容的时候容易变成一个死循环的链表
  • Java7之后,HashMap在处理同一个Hash桶里面的HashCode时,由链表改成了红黑树

 

Collection体系

标签:必须   线程安全   dal   array   contain   info   原来   nal   shm   

原文地址:https://www.cnblogs.com/yinghualiu/p/12295230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!