大纲:
- 集合框架概述
2. 集合框架List接口
3. 集合框架Set接口
4. 集合框架Iterator接口
5. JDK1、8新特性
6. 集合框架Map接口
7、Collections工具类、Optional容器类
8. Queue、Deque接口
9. 对象一对多与多对多关系
10. 迭代器设计模式 - guava对集合的支持
集合框架概述
1集合框架的作用
在实际开发中,我们经常会对一组相同类型的数据进行统一的管理操作。目前为止,我们可以使用数组结构,链表结构,二叉树结构来实现。
数组的最大问题在于数组中元素个数是固定的,要实现动态数组,毕竟还是比较麻烦的,自己实现链表或二叉树结构来管理对象更是不方便。
在JDK1.2之后,java完整的提供了类的集合的概念,封装了一组强大的。方便的集合框架,让我们在开发中大大的提高了效率。
集合分为三大接口
Collection(集合)、Map(映射)、Iterator(迭代器) 集合框架的接口和类在java.util包中
3、Collection接口
Collection层结构中的根接口,Collection表示一组对象,这些对象也称为Collection的元素,一些Collection允许有重复的元素,而一些不允许,一些Collection是有序的,一些是无序的。JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现,此接口通常用来传递Collection,并在想要最大普遍性的地方操作这些Collection
接口的定义
public interface Collection< E> extends Iterable<>
4、List接口
public interface List< E> extends Collection<>
有序的Collection(㛑称序列),此接口的用户可以对列表中的每一个元素的插入位置进行精确控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素
这里是引用
import java.awt.List;
import java.util.ArrayList;
/*
* Collection接口:用于存储单个对象的集合
* List接口:
* 1、有序的
* 2、有序多个null
* 3、具体的实现常用的:ArrayList,Vector,LinkedList
*/
public class ListDemo {
private static void arrayList() {
//使用集合来存储多个不同类型的元素,那么在处理时会比较麻烦,在实际开发中不建议
//这样使用,我们应该在一个集合中存储相同的类型对象
ArrayList<String> list=new ArrayList();
list.add("李老师");
list.add("詹老师");
list.add("黄老师");
list.add("毕老师");
// list.add(20);
int size=list.size();
for(int i=0;i<size;i++) {
System.out.println(list.get(i));
}
//查找是否存在某个对象contains
System.out.println(list.contains("李老师"));
//删除对象remove
list.remove("黄老师");
System.out.println(list.size());
}
public static void main(String[] args) {
arrayList();
}
}
李老师
詹老师
黄老师
毕老师
true
3