【Java集合之一】Java集合
程序员文章站
2022-07-12 20:42:19
...
本文围绕以下五个部分展开:
一、Java集合概述
二、Collection接口
三、遍历集合元素的两种方法
四、操作集合的工具类:Collections
五、烦琐的接口:Enumeration
一、Java集合概述
1. 概念
Java集合类:容器类,是特别有用的工具类。
2. 用途
(1)可用于存储数量不确定的多个对象。
(2)可用于保存具有映射关系的数据(也被称为关联数组)。
(3)可用于实现常用的数据结构,如:栈、队列等。
3. 集合与数组
数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);
集合里只能保存对象(实际上保存的是对象的引用变量,但习惯上认为集合里保存的是对象),不能保存基本类型的值。
4. Java集合框架
Java和集合类主要由两个接口派生而来:Collection和Map,它们是根接口。其中,Collection接口又派生出Set、List和Queue三个常用接口。
Set集合最常用的实现类:HashSet、TreeSet。
List集合最常用的实现类:ArrayList、LinkedList。
Queue集合最常用的实现类:ArrayDeque、(LinkedList)。
Map集合最常用的实现类:HashMap、TreeMap。
5. Set、List、Queue及Map四种集合
(1)Set:
无序集合,元素不可重复。
如果访问Set集合中的元素,只能根据元素本身来访问。
(2)List:
有序集合,元素可重复。
如果访问List集合中的元素,可直接通过元素的索引来访问。
(3)Queue:
Java提供的队列实现,有点类似List。
(4)Map:
保存具有映射关系的数据(保存关联数组)。
Map保存的每项数据都是key-value对,由key和value两个值组成。key不可重复,用于标识集合里的每项数据;value可重复。
如果访问Map集合中的元素,可根据每项元素的key来访问其value。
Set类似一个罐子:一个对象添加进去时,无法记住添加这个元素的顺序,因此元素不可重复;
List类似一个数组,可记住每次添加元素的顺序,只是长度可变。
Map也类似一个罐子:只是里面的每项数据都由两个值组成。
二、Collection接口
1. 概念
Collection接口是 Set、List和Queue接口的父接口。该接口里定义的一些操作集合元素的方法,也可用于操作三个子集合。
2. 一些操作集合元素的方法
三、遍历集合元素的两种方法
1. 使用Iterator接口遍历集合元素
(1)概念
Iterator接口也是Java集合框架的成员。
Collection、Map:容器类,主要用于盛装其他对象;Iterator:迭代器,主要用于遍历(迭代访问)Collection集合中的元素。
它必须依赖于Collection对象。若有一个Iterator对象,则必然有一个与之关联的Collection对象。
(2)方法
2. 使用foreach循环来遍历集合元素
四、操作集合的工具类:Collections
1. 概念
Java提供了可操作Set、List和Map等集合的工具类:Collections。
该工具类提供了大量的方法对集合元素进行 排序、查询、替换等操作,以及可将集合对象设置为不可变、对集合对象实现同步控制 等。
2. 排序
3. 查找、替换
4. 同步控制
5. 设置不可变集合
五、烦琐的接口:Enumeration
Enumeration是Iterator迭代器的“古老版本”。
从JDK 1.0开始,它就出现了。而Iterator是JDK 2.0开始才出现的。
它只有2个名字很长的方法:
由于以前“古老”的程序使用到了该接口,因此Java还保留。
(1)它只能遍历Vector(包括其子类Stack)、Hashtable、BitSet等JDK 1.0遗留下来的古老的集合类;(2)它的方法名很冗长。由于这两个原因,通常不要使用它。除非在某些极端情况下不得不使用,否则都应使用Iterator迭代器。
整理时重点参考:《疯狂Java讲义》(第2版) 李刚 编著
一、Java集合概述
二、Collection接口
三、遍历集合元素的两种方法
四、操作集合的工具类:Collections
五、烦琐的接口:Enumeration
一、Java集合概述
1. 概念
Java集合类:容器类,是特别有用的工具类。
2. 用途
(1)可用于存储数量不确定的多个对象。
(2)可用于保存具有映射关系的数据(也被称为关联数组)。
(3)可用于实现常用的数据结构,如:栈、队列等。
3. 集合与数组
数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);
集合里只能保存对象(实际上保存的是对象的引用变量,但习惯上认为集合里保存的是对象),不能保存基本类型的值。
4. Java集合框架
Java和集合类主要由两个接口派生而来:Collection和Map,它们是根接口。其中,Collection接口又派生出Set、List和Queue三个常用接口。
Set集合最常用的实现类:HashSet、TreeSet。
List集合最常用的实现类:ArrayList、LinkedList。
Queue集合最常用的实现类:ArrayDeque、(LinkedList)。
Map集合最常用的实现类:HashMap、TreeMap。
5. Set、List、Queue及Map四种集合
(1)Set:
无序集合,元素不可重复。
如果访问Set集合中的元素,只能根据元素本身来访问。
(2)List:
有序集合,元素可重复。
如果访问List集合中的元素,可直接通过元素的索引来访问。
(3)Queue:
Java提供的队列实现,有点类似List。
(4)Map:
保存具有映射关系的数据(保存关联数组)。
Map保存的每项数据都是key-value对,由key和value两个值组成。key不可重复,用于标识集合里的每项数据;value可重复。
如果访问Map集合中的元素,可根据每项元素的key来访问其value。
Set类似一个罐子:一个对象添加进去时,无法记住添加这个元素的顺序,因此元素不可重复;
List类似一个数组,可记住每次添加元素的顺序,只是长度可变。
Map也类似一个罐子:只是里面的每项数据都由两个值组成。
二、Collection接口
1. 概念
Collection接口是 Set、List和Queue接口的父接口。该接口里定义的一些操作集合元素的方法,也可用于操作三个子集合。
2. 一些操作集合元素的方法
三、遍历集合元素的两种方法
1. 使用Iterator接口遍历集合元素
(1)概念
Iterator接口也是Java集合框架的成员。
Collection、Map:容器类,主要用于盛装其他对象;Iterator:迭代器,主要用于遍历(迭代访问)Collection集合中的元素。
它必须依赖于Collection对象。若有一个Iterator对象,则必然有一个与之关联的Collection对象。
(2)方法
2. 使用foreach循环来遍历集合元素
四、操作集合的工具类:Collections
1. 概念
Java提供了可操作Set、List和Map等集合的工具类:Collections。
该工具类提供了大量的方法对集合元素进行 排序、查询、替换等操作,以及可将集合对象设置为不可变、对集合对象实现同步控制 等。
2. 排序
3. 查找、替换
4. 同步控制
5. 设置不可变集合
五、烦琐的接口:Enumeration
Enumeration是Iterator迭代器的“古老版本”。
从JDK 1.0开始,它就出现了。而Iterator是JDK 2.0开始才出现的。
它只有2个名字很长的方法:
由于以前“古老”的程序使用到了该接口,因此Java还保留。
(1)它只能遍历Vector(包括其子类Stack)、Hashtable、BitSet等JDK 1.0遗留下来的古老的集合类;(2)它的方法名很冗长。由于这两个原因,通常不要使用它。除非在某些极端情况下不得不使用,否则都应使用Iterator迭代器。
整理时重点参考:《疯狂Java讲义》(第2版) 李刚 编著