乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
Java集合对比 | chenzuoli's blog

Java集合对比

java中集合分List、Set、Map,下面来看看他们的实现类、底层结构及什么情境下使用。

1.List

1.1 ArrayList

底层结构是数组:

  • 线程不安全,相对于Vector效率高;
  • 查找快,增删慢;

1.2 Vector

底层结构是数组:

  • 线程安全,相对于ArrayList效率低;
  • 查找快,增删慢;

1.3 LinkedList

底层结构是链表:

  • 线程不安全,效率高;
  • 增删快,查找慢;

2.Set

2.1 HashSet

底层结构是哈希表:

  • 无序、唯一;
  • 查找快,增删快;

2.2 LinkedHashSet

底层结构是链表+哈希表:

  • 有序、唯一;
  • 查找快,增删快;

2.3 TreeSet

底层结构是红黑树:

  • 有序、唯一;
  • 查找快,增删快;

3.Map

3.1 HashMap

底层结构是哈希表:

  • 线程不安全,相比Hashtable,效率高;
  • 无序;
  • 查找快,增删快;
  • 父类AbstractMap;
  • k、v允许为null值

3.2 Hashtable

底层结构是哈希表:

  • 线程安全,相比HashMap,效率低;
  • 无序;
  • 查找快,增删快;
  • 父类Dictionary;
  • k、v不允许为null值;

3.3 CurrentHashMap

底层结构是哈希表:

  • 线程安全,相比Hashtable做了优化,增删不会锁定整张表,原理是将整个map分成了n个segment;
  • 无序;
  • 查找快,增删快;

3.3 TreeMap

底层结构是红黑树:

  • 有序;
  • 查找快,增删快;

One is never too old to learn.

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------