java基础——集合类简单总结对比

说到java集合类,首先我们要有一个整体的概念。两个绕不过去的大哥,CollectionMap
让我们先来认识一下Collection家族成员。
在这里插入图片描述
从图中我们从左往右,从上往下,挨个过一下这些类。

Collection接口:

java集合的顶级父类,里面定义了集合常用的方法。

boolean isEmpty();

boolean contains(Object var1);

Iterator<E> iterator();

Object[] toArray();

<T> T[] toArray(T[] var1);

boolean add(E var1);

boolean remove(Object var1);

List接口:

继承了collection接口;存入list集合中的元素,会保存存入的顺序。

set接口:
继承了collection接口,存入set集合中的元素,不能有重复的。

ArrayList类(可实例化):
基于数组实现,所以对于查找操作效率比较高;

LinkedList(可实例化类):
基于双向链表实现,对于插入和删除操作效率比较高;

priorityQueue:
一个基于优先级的无序队列,存储的对象要有可比性,是线程不安全的。

ArrayQueue:
一个循环队列,内部基于数组实现的,无法自动扩容,需要手动调用resize
()方法;

Vector:
类比ArrayList,只不过是方法加了锁,线程安全。

HashSet:
底层基于HashMap实现,没有重复的元素,可以为null,线程不安全;

TreeSet:
有序,不可重复,红黑树

LinkedHashSet:
在hashset的基础上,保留了插入顺序。

排序的集合,存储的数据都需要实现比较功能。

在这里插入图片描述

Map接口

是一种双列集合,以键值对的形式形式存储数据。

HashMap:
线程不安全、可以存放null值,哈希链表法;

HashTable:
与HashMap类似,线程安全

TreeMap:
基于红黑树实现,有序

LinkedHahsMap:
与HashMap类似,有序进去,有序出来;

ConcurrentHashMap:
分段锁,线程安全

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值