集合框架简介
1.为什么使用集合框架
缘由:由于数组在创建(初始化)的时候会默认定义数组的长度,而数组的长度是不变的,所以导致数组的赋值及创建会有内存浪费的现象,于是集合作为可以更改长度的“数组”,可以解决内存浪费的现象
2.Java集合框架架构图

(1)集合有两个父接口 Collection、Map
(2)Collection有两个子接口 List、set
(3)List有两个常见的实现类 ArrayList、LinkedList
(4)Set有两个常见的实现类 HashSet、TreeSet
(5)Map有两个常见的实现类 HashMap、HashTable
3.Java集合框架特点
(1)List 特点:有序、可重复
(2)Set 特点:无序、不可重复
(3)Collection 特点:无序、可重复
(4)Map 特点:存放一对值【键值对】(key 键 -- value 值)
List接口
1.ArrayList 和LinkedList 的区别:
(1)ArrayList【以数组的形式存储】 特点:查询效率高,增删改效率低
(2)LinkedList【以链表的链表存储】 特点:查询效率低,增删改效率高
2.List接口的实现类种类
ArrayList、LinkedList
3.ArrayList集合类
(1)实例化ArrayList对象

(2)添加数据 add()
第一种:直接添加值

第二种:通过角标添加值

(3)删除数据
第一种:通过角标删除数据(1代表角标而不是值)
![]()
第二种:通过值删除数据(“1”代表值而不是角标)
![]()
(4)查询数组
第一种:传统for循环(size代表长度,get是获取值)

第二种:增强for循环

(5)拓展:
ArrayList.size()是获取数组的长度的方法
ArrayList.get(i)是获取数组的每个元素值
4.ArrayList集合类(泛型)
(1)泛型:<> 用来指定集合存放数据的类型
例:存放Integer(数值)类型和存放String类型


(2)泛型存放对象类型

5.LinkedList集合类
(1)存放Object类型数据

(2)LinkedList 存放对象类型数据

(3)拓展

set接口
核心要点:
(1)Iterator 迭代器类型
(2)iterator()获取迭代器对象【迭代器的作用是遍历set集合】
(3)hasNext()判断是否有下一个值
(4)next()获取下一个值
(5)sets集合是没有顺序的
(6)sets集合不可存放重复的数据
Object类型

String类型(泛型)

对象类型

Map集合类
1. 实例化HashMap

2.给HashMap赋值

3.遍历HashMap
第一种:

第二种:

代码体现:

Map -- 泛型

Map -- 对象


实战:

实战1


实战2


实战3


本文介绍了Java集合框架的重要性,因为它解决了数组长度固定带来的内存浪费问题。集合框架包括Collection、Map两大接口,以及List、Set子接口和ArrayList、LinkedList、HashSet、TreeSet等实现类。ArrayList和LinkedList各有优缺点,前者查询快但增删慢,后者反之。Map用于存储键值对,常见实现有HashMap和HashTable。文章还详细讲解了ArrayList的增删改查操作和泛型应用,以及Set接口的无序、唯一特性,最后提到了HashMap的使用和遍历方法。
405

被折叠的 条评论
为什么被折叠?



