"day02【Collection、泛型】-笔记"
在Java编程中,集合(Collection)和泛型是两个非常关键的概念,特别是在处理多个对象数据时。本笔记将深入探讨这两个主题,帮助你理解它们的功能和用法。
### Collection集合
**集合概述**:
集合是Java提供的一种数据容器,它能容纳多个数据项。相比于数组,集合具有以下特点:
1. 数组长度固定,而集合的长度可以根据需要动态调整。
2. 数组可以存储基本类型,而集合只能存储对象。集合中的对象类型可以不同。
**集合框架**:
Java集合框架包括一系列相互关联的接口和类,它们形成了一个复杂的类层次结构。主要分为单列集合`java.util.Collection`和双列集合`java.util.Map`。在本笔记中,我们将重点关注单列集合`Collection`,其中包括两个核心子接口:`java.util.List`和`java.util.Set`。
- **List**:有序的集合,允许元素重复,常见的实现类有`ArrayList`和`LinkedList`。
- **Set**:无序的集合,不允许元素重复,典型的实现类有`HashSet`和`TreeSet`。
### 迭代器(Iterator)
迭代器是访问集合元素的标准方法,通过`iterator()`方法获取。它可以顺序访问集合中的元素,并且支持删除元素。
### 增强for循环(foreach)
增强for循环简化了集合遍历,语法形式为`for (类型 item : 集合) { ... }`,无需手动创建迭代器。
### 泛型
**泛型**引入了类型参数的概念,提高了代码的类型安全性和重用性。在定义集合时指定泛型,如`ArrayList<String>`,限制了集合只能存储String类型的对象。
#### 泛型的使用
- 定义泛型集合:`List<String> list = new ArrayList<String>();`
- 泛型通配符:例如`<?>`表示任意类型,常用于方法参数,提高代码灵活性。
- 泛型上下限:如`List<? super Animal> list`表示列表可以存放任何Animal或其子类的对象。
理解这些概念有助于你更有效地使用Java集合和泛型,提高代码质量和可维护性。通过不断练习和实践,你将能够熟练掌握这些知识,并在实际开发中灵活运用。