1.为什么要用集合
之前我们保存多个数据使用的都是数组,这有很多的局限性
- 长度必须直接指定,而且一旦指定,不能更改。
- 保存的必须为同一类型的元素
- 使用数组进行增加/删除元素十分麻烦,浪费内存空间。
因此Java为我们提供了更方便的数组,集合。
2.认识集合
- 可以动态保存多个对象,使用方便。
- 提供了一系列方便的操作对象的方法,如add,remove等。
- 使用集合添加,删除新元素十分便捷。
3. 集合体系
集合分为两组,单列集合与双列集合,分别对应Collection和Map,前者以元素形式存储数据,后者以键值对方式存储(key-value)。
4.Collection接口
4.1 Collection接口特点
- collection实现子类可以存放多个元素,每个元素可以是Object。
- Collection的实现类有些可以存放重复元素,有些不可以。
- Collection的实现类,有些存放元素是有序的(LIst),有些不是有序(Set)。
- Collection接口并没有直接的实现子类,是通过它的子接口Set和List来实现的。
4.2 Collection接口常用方法
这里用List集合演示
List list = new ArrayList();//创建集合对象
// add:添加单个元素
list.add("jack");
list.add(10);//list.add(new Integer(10))
list.add(true);
System.out.println("list=" + list);
// remove:删除指定元素
list.remove(0);//删除第一个元素
list.remove(true);//指定删除某个元素
//contains:查找元素是否存在
System.out.println(list.contains("jack"));
// size:获取元素个数
System.out.println(list.size());//2
//isEmpty:判断是否为空
System.out.println(list.isEmpty());//F
// clear:清空
list.clear();
//addAll:添加多个元素,也就是类似两个集合合并
ArrayList list2 = new ArrayList();
list2.add("红楼梦");
list2.add("三国演义");
list.addAll(list2);
// containsAll:查找多个元素是否都存在
System.out.println(list.containsAll(list2));
// removeAll:删除多个元素
list.removeAll(list2)