永刚的点滴成长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

java容器有哪些:

  Collection和Map,其中Collection是单列,Map是双列;单列下的具体有Set\List,多列下有Map接口。

List接口中的实现类特点:

  ArrayList:底层用数组实现,查询效率高,插入效率低,线程不安全。

  LinkedLis:t底层用双向链表实现,查询效率低,插入效率高,线程不安全。

  Vector:底层用长度可动态增长的对象数组实现,该实现的相关方法用了同步关键字,所以线程安全但效率低下。

  Stack:继承自Vector,特点先进后出。

Set接口中实现类特点:

  HashSet:底层用HashMap实现,本质就是Map中没有bucket。查询效率和增删效率都很高,

  LinkedHashSet:继承自HashSet,内部使用了LinkHashMap,好处就是LinkedHashSet中的元素是有序的。

  TreeSet:内部用TreeMap实现,底层是一种二叉查找数,需要对元素做内部排序,因此存储的兑现要实现Comparable接口且不能传入null。

Map接口中实现类的特点:

  HashMap:采用散列算法实现,底层用哈希表来存储数据,hashMap在查找删除修改效率都很高,允许key或value为null。

  LinkedHashMap:继承自HashMap,是HashMap和双向链表的组合,他是一个将所有entry节点都链入双向链表的HashMap,迭代顺序可以是插入顺序也可以是访问顺序,默认是按照插入顺序排序的。

  HashTable:与HashMap类似不同点就是其中的方法用了同步关键字确保安全但效率低,不允许key或value为null。

  TreeMap:是在Map中按照自然排序时才选用TreeMap

  ConcurrentHashMap:线程安全

posted on   永刚的点滴成长  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
 
点击右上角即可分享
微信分享提示