可動態保存任意多個對象,使用比較方便
提供了一系列方便操作對象的方法:add,remove,set,get等
使用集合添加刪除新元素,代碼簡潔明了
單列集合
多列集合?
?Collection接口
常用方法
List list= new ArrayList(); //向上轉型//增list.add("jack");list.add(10);list.add(true);//刪list.remove(true); //刪除指定元素list.remove(0); //刪除第1個元素//查看元素是否存在list.contains("jack");//元素個數list.size();//是否為空list.isEmpty();//清空list.clear();//加多個元素ArrayList list1 = new ArrayList();list.addAll(list1);//containsAll查看多個元素是否存在//removeAll刪除等多個元素list.removeAll(list1);
Iterator
1.Iterator對象又稱為迭代器,主要用于遍歷Collection集合中的元素
2.所有實現了Collection接口的集合類都有一個iterator()方法,用于返回一個實現了iterator接口的對象,即返回一個迭代器
3.Iterator的結構
4.僅用于遍歷集合,本身并不存放對象
接口方法:hasNext()? next()? remove()? ??
調用Iterator.next()方法之前必須調用iterator.hasNext()進行檢測,若不調用,且下一條記錄無效,直接調用it.Next()會拋出NoSuchElementException異常
增強for循環
for (Object book : col){System.out.println(book);}
底層仍是迭代器?
快捷鍵 I
練習
1.創建3個Dog{name,age}對象,放入到ArrayList中,賦給List引用
2.用迭代器和增強for循環兩種方式來遍歷
3.重寫Dog的toString方法,輸出name和age
@SuppressWarnings({"all"})List list = new ArrayList();list.add(new Dog("A",1));list.add(new Dog("B",2));list.add(new Dog("C",3));//增強for循環 遍歷for (Object dog :list) {System.out.println(dog);}//使用迭代器Iterator iterator= list.iterator();while (iterator.hasNext()) {Object next = iterator.next();System.out.println(dog);}