12、java集合类
12.1、Collection框架概览
包位置:java.util
Collection 层次结构 中的根接口。
Collection 表示一组对象,这些对象也称为 collection
的元素
一些 collection 允许有重复的元素,而另一些则不允许。
一些 collection 是有序的,而另一些则是无序的。
先来了解下集合框架的类图结构。
12.2、集合框架类图结构
12.3、List接口简介
List是继承Collection的子接口。
List特性:有序、可重复。重复是针对equals()
实现AbstractList的具体类有:
ArrayList、LinkedList、Vector、Stack
12.4、实现List的类特性简介
12.4.1.ArrayList:
1:可变大小,允许所有元素,包括NULL,没有同步。
2:添加元素时开销较大可在大量插入前调用以下方法来初始化容量。ensureCapacity(int minCap)
3:对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。
12.4.2.LinkedList
1:可用作堆栈、队列或双向队列。
2:可变大小,允许所有元素,包括NULL,没有同步。
3:向List中间插入与删除得开销不大,随机访问则相对较慢(可用ArrayList代替)。
12.4.3.Vector
1:可变大小,允许所有元素,包括NULL,线程同步。
2:当一个Iterator被创建且正在使用,另一个线程改变了Vector状态,这时再调用Iterator时将抛出ConcurrentModificationException(并发修改)
12.4.4 Iterator接口的认识
Iterator 接口
所有的collection接口都有一个iterator方法返回的是一个
Iterator接口对象
Itertator 对象称为迭代器,为遍历容器内的元素而生
Itertator所有的collection接口都有一个iterator方法返回的是一个Iterator接口对象
boolean hasNext();//判断游标右边是否还有元素
object next(); //返回游标右边的元素游标并往后移动一位
void remove();//删除游标左边的元素
12.4.5 Iterator模式的意图和适用性
意图:
提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
适用性:
访问一个聚合对象的内容而无需暴露它的内部表示。
支持对聚合对象的多种遍历。
为遍历不同的聚合结构提供一个统一的接口(即, 支持多态迭代)。
12.5 实现Set接口的类特性简介
实现Set接口的常用类:HashSet、 TreeSet、 LinkedHashSet特性简介不能包含重复元素,即任意两个元素e1.equal(e2)=false.
1.HashSet: 为快速查找而设计的Set。存入HashSet的对象必须定义hashCode()。
2.TreeSet: 保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列(默认从小到大)。
3.LinkedHashSet: 具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。
12.6 Collection/Map的子接口
继承自Collection的接口较多,其中常用的接口有:
List
Set
注意Map是独立接口,并未继承Collection
实现Map接口的主要有HashMap,HashTable,SortedHashMap等
实现map接口的常用类有:HashTable、HashMap、WeakHashMap
HashTable:同步,不允许NULL键与NULL值
HashMap:不同步,允许NULL键与NULL值
WeakHashMap:改进后的HashMap,对Key实行弱引用,如果一个Key不再被外部引用,那么该Key可以被GC回收
- 大小: 14.9 KB
- 大小: 10.2 KB
- 大小: 21.7 KB
分享到:
相关推荐
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
所涉及的集合类不仅包括 Java SE 1.2 引入的集合类,还包括旧集合类(Java SE 1.2 前引入)和新集合类(Java SE 5 引入)。 Java 线程安全的等级定义根据 Bloch 的定义,将线程安全分为五个等级: 1. 非可变:如果...
Java集合排序及java集合类详解.pdf
Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...
Java集合类是Java编程语言中用于存储和管理对象的关键组件,它们构成了Java Collections Framework的核心。这个框架提供了一组高效、灵活的数据结构,使得开发者能够轻松地处理数据集合,而无需关心底层实现的复杂性...
自定义集合类则是开发者根据特定需求扩展Java集合框架的行为,以满足个性化或特定业务场景的功能需求。以下是对"java自定义集合类"这一主题的详细解释。 首先,Java集合框架包括接口(如List、Set、Map)和实现这些...
在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java集合主要分为两大类:List(列表)和Set(集)。List是一个有序的集合,允许元素重复,并且可以...
一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!
Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。
Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...
集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...
本文将对Java集合框架中的Collection接口及其相关接口、类进行深入的探讨。 首先,Collection接口是所有单值容器的基础,它是Set、List和Queue接口的父接口。Collection接口定义了通用的操作方法,如`add()`用于...
本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...
### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...
### Java集合类与容器类详解 #### 一、引言 在Java编程中,集合类是一种非常重要的数据结构,用于存储一系列对象。相比于数组,集合类提供了更多的灵活性和功能,尤其是在处理未知数量的对象时更为方便。Java标准...
Java 集合类面试题总结 Java 集合类是 Java 语言中的一种重要组件,用于存储和操作数据。下面总结了 Java 集合类的一些常见问题和答案。 HashMap 和 Hashtable 的区别 HashMap 和 Hashtable 都是 Java 中的散列表...
Java集合类矩阵图是Java编程中非常重要的一个概念,它主要涵盖了Java集合框架中的各种接口、类以及它们之间的关系。这个矩阵图可以帮助开发者更清晰地理解Java集合框架的层次结构和实现方式。在这个矩阵图中,你可以...
"Java集合类总结" Java集合类是Java语言中的一种重要数据结构,用于存储和管理数据。Java集合类可以分为两种:Collection接口和Map接口。Collection接口有两个子接口:List接口和Set接口。List接口是有序的,可以...