Java集合综述

Java集合综述

Java集合框架中的接口

Iterator
ListIteratro
Iterable
Collection
List
Set
Queue
SortedSet
NavigableSet
Deque
Map
SortedMap
NavigableMap
RandomAccess

集合框架

Java的集合框架主要包括两种类型的容器,一种是集合,即Collection,用于存储一个元素集合;另一种是图,即Map,用于存储键值对映射。Collection接口又有3种子类型,分别是List,Set和Queue。Map不是集合,但是它们也完全整合在集合框架中。

集合框架包括三部分:

  1. 接口 :代表集合的抽象数据类型,不同的接口以不同的方式操作数据。
  2. 实现类:是接口的具体实现,本质为可重复使用的数据结构。
  3. 算法:集合对象包含的一些方法,例如排序和搜索等。算法是多态的,因为相同的方法可以在相似的接口上有不同的实现。

集合接口

接口名称接口描述
Collection接口最基本的集合接口,一个Collection代表一组Object。Java不提供直接继承Collection的类,只提供子接口的实现类。
List接口有序的Collection接口,List中的元素可以通过索引访问,第一个元素的索引为0。
Set接口Set不保存重复的元素,通过重写equals和hashCode方法来判断元素是否相等。
SortedSet继承于Set保存有序的集合。
MapMap接口存储一组键值对象,提供Key到Value的映射。
Map.EntryMap的一个内部类,用于描述Map中的一个键值对。
SortedMap继承于Map,使Key保持升序排序。
Enumeration枚举对象集合中的元素,现在已经被迭代器取代。

集合的实现类

类名描述
AbstractCollection实现了大部分的集合接口。
AbstractList继承于AbstractCollection,并且实现了大部分List接口。
AbstractSequentialList继承于AbstractList,提供对数据元素的链式访问。
LinkedList链表数据结构,线程不安全,允许null元素,插入与删除效率高但是查找效率低。
ArrayList大小可变的数组,随机访问和遍历性能良好,线程不安全,插入与删除效率低。
AbstractSet继承于AbstractCollection,实现了大部分Set接口。
HashSet不允许重复元素,无序,可以包含null。
LinkedHashSet哈希表和链接列表,可预知迭代顺序。
TreeSet实现了Set接口,可排序
AbstractMap实现了大部分Map接口
HashMap散列表,用于存储key-value映射。根据键的HashCode值存储数据,访问效率高。
TreeMap继承了AbstractMap,二叉树结构
WeakHashMap弱密钥哈希表
LinkedHashMap支持按自然顺序对元素排序
IdentityHashMap继承于AbstractMap,比较文档时使用引用相等。

迭代器

一般采用for循环或者增强for循环遍历数组,对集合而言可以采用迭代器遍历集合框架。迭代器是一个对象,实现了Iterator接口或者ListIterator接口。使用迭代器可以通过循环对集合进行操作。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值