文章目錄
1.集合是什麼?
集合是Java中提供的一種容器,用來存儲多個數據。
●集合和數組都是容器,集合的長度可變,數組的不可變。
●數組中存儲的都是同一類型的元素,可以存儲基本數據類型。集合存儲的都是對象,對象類型可以不一致。
2.單列集合——Collection
單列集合:每一次可以向集合裏面保存一個對象。
1)Collection接口的繼承關係:
2)Collection接口的方法:
boolean add(E e) | 往集合中添加元素 |
---|---|
boolean addAll(Collection<? extends E> c) | 追加一個集合 |
boolean remove(Object o) | 刪除對象 |
void clear() | 從集合中清空所有元素 |
boolean contains(Object o) | 判斷當前集合是否包含給定的對象 |
boolean isEmpty() | 判斷當前集合是否爲空 |
int size() | 返回集合當中元素的個數 |
Object[] toArray() | 將集合變爲對象數組保存 |
Iterator iterator() | 爲Iterator接口實例化 |
public class Demo {
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
boolean b1 = coll.add("張三");
coll.add("李四");
coll.add("王五");
System.out.println(coll);//[張三, 李四, 王五]
coll.remove("張三");
System.out.println(coll);//[李四, 王五]
System.out.println(coll.contains("李四"));//true
System.out.println(coll.isEmpty());//false
System.out.println(coll.size());//2
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} //李四、王五
coll.clear();
System.out.println(coll); //[]
}
}
3.集合輸出——Iterator接口(迭代器)
1)作用:
迭代訪問(遍歷)Collection中的元素。
迭代:程序中對一組指令(步驟)的重複。
Iterator接口的方法:
boolean hasNext() | 判斷集合中有沒有下一個元素 |
---|---|
E next() | 取出集合中的下一個元素 |
2)迭代器使用步驟:
●注意:迭代器是接口,所以我們只能通過它的實現類對象來使用。
即通過Collection接口中的iterator方法(這個方法返回的就是迭代器的實現類對象)
①使用集合中的iterator()獲取迭代器的實現類對象,使用Iterator接口接收(多態)
②使用Iterator接口中的hasNext()方法判斷還有沒有下一個元素,然後用next()方法取出下一個元素。
//創建一個集合對象
Collection<String> coll = new ArrayList<>();
//實例化接口
Iterator <String> it = coll.iterator();
public class Test {
public static void main(String[] args) {
//創建一個集合對象
Collection<String> coll = new ArrayList<>();
//往集合裏面添加元素
coll.add("Aa");
coll.add("Bb");
coll.add("Cc");
//接口 實現類對象
Iterator <String> it = coll.iterator();
while (it.hasNext()){ //判斷集合中是否有元素
System.out.println(it.next());//取出並輸出當前數據
}
}
}
3)增強for循環(foreach循環):
低層使用的也是迭代器,使用for循環的格式簡化書寫。(JDK1.5之後)
所有單列集合都可以使用增強for
public interface Collection<E> extends Iterable<E>
作用:用來遍歷集合和數組。
格式:
for(集合/數組的數據類型 變量名:集合名/數組名){
System.out.println(變量名)
}
public class Test {
public static void main(String[] args) {
//創建一個集合對象
Collection<String> coll = new ArrayList<>();
//往集合裏面添加元素
coll.add("Aa");
coll.add("Bb");
coll.add("Cc");
for(String str : coll){
System.out.println(str);
}
}
}