博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 集合类结构图
阅读量:6358 次
发布时间:2019-06-23

本文共 1262 字,大约阅读时间需要 4 分钟。

  

接口

实现类

保持插入顺序

可重复

排序

使用说明

 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或者value是null;

Hashtable:

    重量级,线程安全,不允许key或者value是null;

    Properties:Hashtable的子类,key和value都是String

TreeMap:

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

转载地址:http://ynfma.baihongyu.com/

你可能感兴趣的文章
银行卡的三个磁道
查看>>
OpenSSL 提取 pfx 数字证书公钥与私钥
查看>>
Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】
查看>>
CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
查看>>
CentOS7.4安装配置mysql5.7 TAR免安装版
查看>>
解决IE二级链接无法打开故障
查看>>
Windows phone应用开发[16]-数据加密
查看>>
SQL Server 迁移数据到MySQL
查看>>
通用数据压缩算法简介
查看>>
The next Industry Standard in IT Monitoring, a python implementation Nagios like tool --- Shinken
查看>>
(笔记)找工作,该怎么进补
查看>>
div的显示和隐藏以及点击图标的更改
查看>>
(轉貼) Ubuntu將在ARM平台netbook上現身 (SOC) (News) (Linux) (Ubuntu)
查看>>
SQL注入测试工具:Pangolin(穿山甲)
查看>>
在html 的img属性里只显示图片的部分区域(矩形,给出开始点和结束点),其他部份不显示,也不要拉伸...
查看>>
程序员第二定律:量化管理在程序员身上永无可能
查看>>
ubuntu一些脚本的执行顺序
查看>>
类继承的结构
查看>>
Intel 被 ARM 逼急了
查看>>
testng + reportng 测试结果邮件发送
查看>>