Java集合框架

一、Java集合框架

在这里插入图片描述

1、List 集合特点

List 集合是有序集合,存储有序可重复(有序)数据,主要实现由一下三种:

  • ArrayList 类

    • 底层是数组结构;
    • 线程是不安全,效率高,对于频繁随机遍历的操作适合使用此类;
    • 可以存储 null 值;
  • LinkedList 类

    • 底层是双链表结构;
    • 线程是不安全,对于频繁的插入、删除操作,使用此类效率比Arraylist 高;
    • 可以存储 null 值;
  • Vector 类

    • 底层使用Object[] elementData储存;
    • 作为list古老实现类;线程安全,效率低;

2、Set 集合特点

Set 集合无序集合,存储无序不可重复(唯一)数据,主要实现由一下三种:

  • HashSet 类

    • 底层通过散列实现;
    • 线程是不安全,效率高;
    • 可以存储 null 值;
  • LinkedHashSet 类

    • 可以记住元素插入次序;

    • LinkedHashSet 是 HashSet 的子类,对于频繁的遍历操作,LinkedHashSet效率高于HashSet。

  • TreeSet 类

    • 可按照添加对象的指定属性进行排序;
    • 不可储存null值;

3、CollectionS 集合工具类

Collections 工具类的常用方法:

方法名描述
void copy(List dest,List src)将 src 中的类容复制到 dest 中
boolean addAll(Collection<? super T> c, T… elements)向已知集合中添加元素
synchronizedXXX(XXX)将List 、Set 、Map 集合变成线程安全
void reverse(List<?> list)将List 集合中存储元素顺序倒置
void sort(List list)将List 集合中的元素进行升序排序

4、Map 集合特点

Map 集合是以 k/v 键值对存储数据,主要实现由一下四种:

  • HashMap 类
    • 线程不安全,效率高;
    • key 可以为 null,单只能存储一个 null。
  • LinkedHashMap 类
    • 保证在遍历Map元素时,可以按照添加顺序实现遍历。
    • 在原有的HashMap底层结构基础上添加了一对指针,指向前一个和后一个元素,对应频繁的遍历操作,执行效率高于HashMap
  • TreeMap 类
    • 添加元素是会将键进行升序排序;
  • Hashtable类
    • 线程安全,效率低;
    • 存储储存的key不能为 null;

二、java库中的具体集合

集合类型描述
ArrayList可以动态增长和缩短的一个索引序列,查询快,增删慢
LinkedList可以在任何位置高效插入和删除的一个有序序列,增删快,查询慢
ArrayDeque实现为循环数组的一个双端队列
HashSet没有重复元素的一个无序集合
TreeSet一个有序集,集合内部会自动对所以元素安装升序排列
EnumSet一个包含枚举类型值的集
LinkedHashSet一个可以记住元素插入次序的集
PriorityQueue允许高效删除最小元素的一个集合
HashMap存储 键/值 关联的一个数据结构
TreeMap键有序的一个映射
EnumMap键属于枚举类型的一个映射
LinkedHashMap可以记住键/值 添加次序的一个映射
WeakHashMap值不会再别处使用时就可以被垃圾回收的一个映射
IdentityHashMap用 == 而不是用 equals 比较键的一个映射

三、Java 集合中的接口

在这里插入图片描述

四、Java 集合中的类

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值