java 集合类结构图 List Set Map 对比

29 篇文章 0 订阅

java 集合类结构图


  

接口

实现类

保持插入顺序

可重复

排序

使用说明

 List

ArrayList

Y

Y

N

长于随机访问元素;但插入、删除元素较慢(数组特性)。

LinkedList

Y

Y

N

插入、删除元素较快,但随即访问较慢(链表特性)。

 Set

HashSet

N

N

N

使用散列,最快的获取元素方法。

TreeSet

N

N

Y

将元素存储在红-黑树数据结构中。默认为升序。

LinkedHashSet

Y

N

N

使用散列,同时使用链表来维护元素的插入顺序。

 Map

HashMap

N

N

N

使用散列,提供最快的查找技术。

TreeMap

N

N

Y

默认按照比较结果的升序保存键。

LinkedHashMap

Y

N

N

按照插入顺序保存键,同时使用散列提高查找速度。

 

 

List:

    有顺序的,元素可以重复;

    遍历:for,迭代;

    排序:Comparable Comparator Collections.sort()
ArrayList

    底层用数组实现的List
   
 特点:查询效率高,增删效率低 轻量级 线程不安全;
LinkedList

    底层用双向循环链表实现的List
   
 特点:查询效率低,增删效率高;

Vector:

    底层用数组实现List接口的另一个类;
   
 特点:重量级,占据更多的系统开销,线程安全;

 

------------------------------------------------------------------------------------------------- 

 

Set

    无顺序的,元素不可重复(值不相同);
   
 遍历:迭代;
   
 排序:SortedSet
HashSet

    采用哈希算法来实现Set接口;
   
 唯一性保证:重复对象equals方法返回为true
   
 重复对象hashCode方法返回相同的整数,不同对象hashCode尽量保证不同(提高效率);

SortedSet

    对一个Set排序;
TreeSet

    在元素添加的同时,进行排序。也要给出排序规则;
   
 唯一性保证:根据排序规则,compareTo方法返回为0,就可以认定两个对象中有一个是重复对象。

 

------------------------------------------------------------------------------------------------- 

 

Map

    元素是键值对:key唯一不可重复,value可重复;

    遍历:先迭代遍历key的集合,再根据key得到value

SortedMap:元素自动对key排序

HashMap:

    轻量级,线程不安全,允许key或者valuenull
Hashtable

    重量级,线程安全,不允许key或者valuenull
    Properties
Hashtable的子类,keyvalue都是String

TreeMap

    集合是指一个对象可以容纳了多个对象(不是引用),这个集合对象主要用来管理维护一系列相似的对象。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值