Java -- 集合 --Collection接口和常用的方法
目录
数组:
集合:
Collection接口和常用的方法
Iterator(迭代器)
for循环增强
1. 前面我们保存多个数据使用的是数组,那么数组有不足的地方。
数组:
1. 长度开始必须指定,而且一旦指定,不能更改
2. 保存的必须为同一类型的元素
3. 使用数组进行增加/删除元素的示意代码 - 比较麻烦
集合:
1. 可以动态保存任意多个对象,使用方便
2. 提供了一系列方便的操作对象的方法:add,remove,set,get等
3. 使用集合添加,删除新元素的示意代码 - 简洁
// 集合有 单列集合 , 双列集合//Collection 接口有俩个重要的子接口 list set(单列集合)// Map 接口的实现子类 是 双列集合 存放的是 K-V// 把图记下来ArrayList arrayList = new ArrayList();arrayList.add("jake");arrayList.add("tom");HashMap hashMap = new HashMap();hashMap.put("n1","北京");hashMap.put("n2","上海");
Collection接口和常用的方法
1. collection实现子类可以存放多个元素,每个元素可以是Object
2. 有些Collection的实现类,有些是有序的(List),有些不是有序(Set)
3. 有些Collection的实现类,有些可以存放重复的元素,有些不可以
4. Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的
List list = new ArrayList();//add 添加单个元素list.add("jake");list.add(10);list.add(true);System.out.println("list= " + list);// remove 删除元素list.remove(1);System.out.println("list=" + list);//contains 查找元素是否存在System.out.println(list.contains("jake")); // T// size 返回元素的个数System.out.println(list.size());//2// isEmpty 判断是否为空System.out.println(list.isEmpty());//F// clear 清空// addAll 添加多个元素ArrayList arrayList2 = new ArrayList();arrayList2.add("红罗梦");arrayList2.add("三国");list.addAll(arrayList2);System.out.println(arrayList2);// containsAll 判断多个元素是否存在System.out.println(list.containsAll(arrayList2));//removeAll 删除多个元素list.removeAll(arrayList2);System.out.println("arrayList2=" + arrayList2);
Iterator(迭代器)
1. Iterator对象称为迭代器,主要用于遍历Collection集合中的元素
2. 所以实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象,既可以返回一个迭代器
注意:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测。若不调用,且下一条记录无效,直接调用it.next()会抛出NoSuchElementException异常。
for循环增强
//使用增强for 快捷键 Ifor (Object book:col){System.out.println("book="+book);}//增强for 也可以直接在数组上使用int[] nums ={1,8,10,19};for (int i:nums) {System.out.println("i="+i);}