- 集合框架体系图(重要)
- 集合入门结论
- 集合的理解和好处
- Collection接口
- Collection接口概述
- Collection接口常用方法
- Collection接口 - 特点 - 方法
- Collection接口的子接口:List实现类:
ArrayList
linkedList
Vector
- Collection接口的子接口:Set实现类:
HashSet
linkedHashSet
- Map接口 特点方法 遍历方式
- Map接口的实现类:
HashMap
Hashtable
等…
- Collections工具类的使用
- 集合用起来并不难
- 难点1:理解集合底层机制比较困难
- 难点2:分析源代码
- 难点3:什么情况下用哪种集合的选择问题
前面我们保存多个数据使用的是数组,那么数组有不足的地方,我们分析一下
- 数组
- 长度开始时必须指定,而且一旦指定,不能更改
- 保存的必须为同一类型的元素
- 使用数组进行增加元素的示意代码 - 比较麻烦
- 集合
- 可以动态保存任意多个对个对象,使用比较方便!
- 提供了一系列方便的操作对象的方法:add、remove、set、get等
- 使用集合添加、删除新元素的示意代码
package com.taotao.collection_;
import java.util.ArrayList;
import java.util.HashMap;
public class Collection_ {
public static void main(String[] args) {
//解读
//1.集合主要是两组(单列集合)(双列集合),单个对象,成对出现的对象
//2.Collection 接口有两个重要的子接口 List Set,他们的实现子类都是单列集合
//3.Map 接口的实现子类 是双列集合,存放的 K-V
//Collection
//Map
ArrayList arrayList = new ArrayList();
arrayList.add("jack"); //单列集合
arrayList.add("tom");
System.out.println(arrayList);
HashMap hashMap = new HashMap();
hashMap.put("NO1","北京"); //双列集合
hashMap.put("NO2","上海");
System.out.println(hashMap);
}
}
Collection接口
Collection接口概述
public interface Collection extends Iterable
- collection实现子类可以存放多个元素,每个元素可以是Object
- 有些Collection的实现类,可以存放重复的元素,有些不可以
- 有些Collection的实现类,有些是有序的(List),有些不是有序的(Set)
- Collection接口没有直接的实现子类,是通过它的子接口Set和 List来实现的
- add:添加单个元素
- remove:删除指定元素
- contains:查找元素是否存在
- size:获取元素个数
- isEmpty:判断是否为空
- clear:清空
- addAll:添加多个元素
- containsAll:查找多个元素是否都存在
- removeAll:删除多个元素
- 说明:以ArrayList实现类来演示
使用实现了Collection接口的子类ArrayList来做分析
package com.taotao.collection_;
import java.util.ArrayList;
import java.util.List;
public class CollectionMethod {
public static void main(String[] args) {
List list = new ArrayList();
//add:添加单个元素
list.add("jack");
list.add(10); //List.add(new Integer(10)) 自动装箱
list.add(true);
System.out.println(list);
//remove:删除指定元素
//list.remove(0); //删除第一个元素
list.remove(new Integer(10)); //删除10
list.remove("jack"); //删除jack
System.out.println(list);
//contains:查找元素是否存在
list.add("jack");
System.out.println((list.contains("jack"))); //存在,返回true
System.out.println(list);
//size:获取元素个数
System.out.println(list.size()); //2
//isEmpty:判断是否为空
System.out.println(list.isEmpty()); //false
//clear:清空
list.clear();
System.out.println(list); //[]
//addAll:添加多个元素
List list1 = new ArrayList();
list1.add("tom");
list1.add("taotao");
list.addAll(list1); //集合赋值
System.out.println(list1);
//containsAll:查找多个元素是否都存在,包含关系
System.out.println(list.containsAll(list1)); //true
//removeAll:删除多个元素
list.removeAll(list1); //kong
}
}



