一、为什么使用集合框架

如图:

java三个集合排列组合 java集合分为哪三类_java三个集合排列组合

 

集合的好处:

集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合。

 

二、Java集合主要分为以下3种类型

 

Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

1.List: 三有产品:有顺序,有下标,有重复

2.Set: 三无产品:无顺序,无下标,无重复

3.Map: 键值对:key-value 通过键可以找到值

 

提示:

List和Set实现于 Collection 接口

List还有两个实现类 ArrayList LinkedList

Set也有两个实现类 HashSet TreeSet

Map也有两个实现类 HashMap TreeMap

如图:

java三个集合排列组合 java集合分为哪三类_Java_02

 

三、ArrayList和LinkedList

 

1.ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

 

2.LinkedList采用链表存储方式。插入、删除元素时效率比较高

 

一、ArrayList介绍

 

3.使用ArrayList存储元素 如图:

java三个集合排列组合 java集合分为哪三类_java三个集合排列组合_03

 

4.List接口还提供的remove():移除、contains():是否包含

的方法

java三个集合排列组合 java集合分为哪三类_java三个集合排列组合_04

 

5.List接口方法有很多,这里就不都演示了,它的常用方法

如下图:

java三个集合排列组合 java集合分为哪三类_三大集合_05

 

以下是代码演示部分

java三个集合排列组合 java集合分为哪三类_List_06

java三个集合排列组合 java集合分为哪三类_三大集合_07

二、LinkedList介绍
1.LinkedList集合类
插入、删除操作频繁时,可使用LinkedList来提高效率
LinkedList专门提供对头部和尾部元素进行添加和删除操作的方法

2.使用LinkedList存储元素

java三个集合排列组合 java集合分为哪三类_入门笔记_08

3.LinkedList的特殊方法

java三个集合排列组合 java集合分为哪三类_入门笔记_09

四、Map接口(HashMap 、TreeMap )

 

1.Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。最常用的实现类是HashMap

2.使用HashMap存储元素

java三个集合排列组合 java集合分为哪三类_List_10

3.TreeMap:适用于按自然顺序或自定义顺序遍历键(key)。
HashMap通常比TreeMap快一点(树和哈希表的数据结构使然),建议多使用HashMap,在需要排序的Map时候才用TreeMap。

4.Map接口常用方法

java三个集合排列组合 java集合分为哪三类_List_11

5.遍历Map集合

方法1:通过迭代器Iterator实现遍历

获取Iterator :Collection 接口的iterator()方法

 

Iterator的方法

boolean hasNext(): 判断是否存在另一个可访问的元素

Object next(): 返回要访问的下一个元素

 

方法2: 增强for循环

java三个集合排列组合 java集合分为哪三类_Java_12

以下是代码演示部分

java三个集合排列组合 java集合分为哪三类_Java_13

java三个集合排列组合 java集合分为哪三类_三大集合_14

 

五、Set接口(HashSet 、TreeSet)

 

1.常用方法

first():返回此Set集合中第一个(最低)元素

last():返回此Set集合中最后一个(最高)元素

comparator():返回对Set进行排序的比较器,如果Set使用自然顺序,则返回null

headSet(T test):返回一个新的Set集合,拥有test(不包含)之前的所有对象

tailSet(T test):返回一个新的Set集合,拥有test(包含)之后的所有对象

subSet(T test1,E test2):返回一个新的Set集合,拥有test(包含)之后,test2(不包含)之前的所有对象。

java三个集合排列组合 java集合分为哪三类_入门笔记_15

六、最后提一下:泛型集合

 

1.可以用于解决以下强制类型转换时容易出现的异常问题
List的get(int index)方法获取元素
Map的get(Object key)方法获取元素
Iterator的next()方法获取元素

java三个集合排列组合 java集合分为哪三类_入门笔记_16

java三个集合排列组合 java集合分为哪三类_三大集合_17

七、总结图

java三个集合排列组合 java集合分为哪三类_Java_18