Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4696
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2017-07-14 11:21
文章分类
文章存档

2019年(3)

2018年(9)

我的朋友

分类: Java

2018-12-26 16:15:21

对于Java初学者来说,集合的继承体系容易混淆,源码时代Java老师特意整理如下,希望对Java初学者有所帮助!

Collection接口向下延伸,开发中常用两大类一:List

1:ArrayList(底层数组)(线程不安全,同理效率高)

2:Vector(底层数组)(线程安全,和ArrayList差不多,方法前多了个synchronize关键字

3:LinkedList(底层链表)(线程不安全,同理效率高)

ArrayList和LinkedList的比较:

①ArrayList查询快,增加慢(因为底层是数组,查询根据下标就可以了)

②LinkedList查询慢,增删快

二:Set

1:HashSet(底层HashMap)(线程不安全,同理效率高)

2:TreeSet(底层TreeMap)(线程不安全,同理效率高)

Set集合都是不允许重复的,因为底层是HashMap,add方法添加的时候实际上是Map添加的一个key。


      Map接口向下延伸,开发中常用又分为两大类

1:HashMap(底层键值对:key:value)(线程不安全,同理效率高)(无序的)

2:HashTable(底层键值对:key:value)(线程安全,同理效率低)(无序的)

3:TreeMap(底层键值对:key:value)(线程不安全,同理效率高)(有序的)

HashMap和HashTable的区别:

HashMap线程不安全,HashTable线程安全,同理效率高低,HashMap的value允许为null,HashTable的Key和Value都不允许为null;

阅读(2416) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册