集合详解——集合的输出方式,集合实现接口

集合各种接口的功能Cloneable接口clone(),能被克隆Serializable接口支持序列化RandomAccess接口支持随机访问Deque接口当作双端队列使用NavigableSet接口实现SortedSet接口排序的接口集合类排序NavigableMap是SortedMap接口的子接口CollectionListArrayList基于数组的形式实现的集合操作ArrayList默认初始长度10,可自定义长度,当Array达到最大长度扩充50%查询快,
摘要由CSDN通过智能技术生成

集合

各种接口的功能

Cloneable接口

clone(),能被克隆

Serializable接口

支持序列化

RandomAccess接口

支持随机访问

Deque接口

当作双端队列使用

NavigableSet接口

实现SortedSet接口
排序的接口
集合类排序

NavigableMap

是SortedMap接口的子接口

Collection

List

ArrayList
  1. 基于数组的形式实现的集合操作
  2. ArrayList默认初始长度10,可自定义长度,当Array达到最大长度扩充50%
  3. 查询快,增删慢,线程不安全,效率高
CopyOnWriteArrayList 线程安全
继承接口

Cloneable接口

Serializable接口

RandomAccess接口

LinkedList
  1. 是通过双向链表去实现的。包含一个非常重要的内部类:Entry。Entry是双向链表节点所对应的数据结构,它包括的属性有:当前节点所包含的值,上一个节点,下一个节点。
  2. 查询慢,增删快,线程不安全,效率高
  3. 任何情况只要是链表操作就都会存在有“O(n)”性能问题。
继承接口

Serializable接口

RandomAccess接口

Deque接口

Vector
  1. 是基于数组的形式实现的集合操作
  2. 初始容量10,每次扩容一倍
  3. 查询快,增删慢,线程安全,效率低
  4. Vector类中的方法采用的是synchronized同步处理机制
继承接口

Cloneable接口

Serializable接口

RandomAccess接口

注意

自定义类对象的集合可以正常操作,一定要在类中覆写equals()方法

Set

HashSet
  1. 底层是哈希表
  2. 无序,允许元素为NULL,是一个HashMap的实例
  3. 线程不安全的
继承接口

Cloneable接口

Serializable接口

TreeSet
  1. 底层是二叉树(红黑树)
  2. 可排序,底层实际上是TreeMap实例
  3. 线程不安全的
继承接口

Cloneable接口

Serializable接口

NavigableSet接口

LinkedHashSet
  1. 底层是哈希表+双向链表
  2. 迭代有序,允许NULL,底层实际上是HashMap+双向链表的实例
  3. 线程不安全的
继承接口

Cloneable接口

Serializable接口

依靠hashCode()和equals()完成重复元素的判断

Queue

Map

HashMap

  1. 哈希表实现,内部是数组+链表或者红黑树的结构
  2. 初始化容量为16,达到75%扩容每次为2倍,key-value可以为NULL值
  3. 不是线程安全的
WeakHashMap类
继承接口

Cloneable接口

Serializable接口

TreeMap

  1. 底层是二叉树(红黑树)
  2. 有序
  3. 不是线程安全的
继承接口

Cloneable接口

Serializable接口

NavigableMap

Hashtable

  1. 哈希表实现,内部是数组+链表的结构
  2. 初始化容量为11,扩容每次为2倍+1,key-value不可以为NULL值
  3. 线程安全的
继承接口

Cloneable接口
Serializable接口

Map.Entry

集合输出

Iterator迭代输出

ListIterator列表迭代器 仅适用于List接口的子类。

Enumeration 枚举输出 仅适用于Vector类。

foreach输出所在的类一定要实现Iterable接口。

Collections工具类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值