概念
-
集合
集合是java中提供的一種容器,可以用來存儲多個資料。
-
集合和數組的差別
數組的長度是固定的。集合的長度是可變的。
數組中存儲的是同一類型的元素,可以存儲基本資料類型值。集合存儲的都是對象。而且對象的類型可以不一緻。在開發中一般當對象多的時候,使用集合進行存儲。
定義
Collection是一個接口,是以無法直接定義對象,可以使用多态來定義其子類對象
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Collection<String> coll = new ArrayList<>();
Collection<String> coll1 = new HashSet<>();
Collection<Integer> coll2 = new TreeSet<>();
}
}
分類
集合按照其存儲結構可以分為兩大類,分别是單列集合
java.util.Collection
和雙列集合
java.util.Map
Collection:單列集合類的根接口,用于存儲一系列符合某種規則的元素,它有兩個重要的子接口,分别是
java.util.List
和
java.util.Set
。
- 其中,
的特點是元素有序、元素可重複。List
-
的特點是元素無序,而且不可重複。Set
-
接口的主要實作類有List
和java.util.ArrayList
,java.util.LinkedList
接口的主要實作類有Set
和java.util.HashSet
。java.util.TreeSet
常用方法
在Collection中定義了單列集合(List和Set)通用的一些方法,這些方法可用于操作所有的單列集合。方法如下:
方法 | 說明 |
---|---|
| 把給定的對象添加到目前集合中 。 |
| 清空集合中所有的元素。 |
| 把給定的對象在目前集合中删除。 |
| 判斷目前集合中是否包含給定的對象。 |
| 判斷目前集合是否為空。 |
| 傳回集合中元素的個數。 |
| 把集合中的元素,存儲到數組中。 |
| 傳回在此 collection 的元素上進行疊代的疊代器。 |
boolean add(E e)
- 把給定的對象添加到目前集合中
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//周遊集合
for(String s : coll) {
System.out.println(s);
}
}
}
void clear()
- 清空集合中所有的元素。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//清空集合
coll.clear();
//周遊集合
for(String s : coll) {
System.out.println(s);
}
}
}
boolean remove(E e)
- 把給定的對象在目前集合中删除。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//删除 王二
coll.remove("王二");
//周遊集合
for(String s : coll) {
System.out.println(s);
}
}
}
boolean contains(E e)
- 判斷目前集合中是否包含給定的對象。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//判斷是否包含 王二
System.out.println(coll.contains("王二"));
//判斷是否包含 趙四
System.out.println(coll.contains("趙四"));
}
}
boolean isEmpty()
- 判斷目前集合是否為空。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//判斷是否為空
System.out.println(coll.isEmpty());
//清空集合
coll.clear();
//判斷是否為空
System.out.println(coll.isEmpty());
}
}
int size()
- 傳回集合中元素的個數。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//輸出元素個數
System.out.println(coll.size());
//删除張三
coll.remove("張三");
//輸出元素個數
System.out.println(coll.size());
}
}
Object[] toArray()
- 把集合中的元素,存儲到數組中。
import java.util.ArrayList;
import java.util.Collection;
public class Main {
public static void main(String[] args){
//建立集合對象
Collection<String> coll = new ArrayList<String>();
//向集合中添加元素
coll.add("張三");
coll.add("李四");
coll.add("王二");
//将集合中的元素轉化為字元串數組
String str[] = coll.toArray(new String[0]);
//輸出字元串數組中的内容
for(String s : str) {
System.out.println(s);
}
}
}
Iterator iterator()
- 傳回在此 collection 的元素上進行疊代的疊代器。
關于疊代器我的另一篇部落格中有更加完善的說明。點選看關于疊代器的說明
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
//使用多态,建立ArrayList
Collection array = new ArrayList<String>(10);
array.add("張三");
array.add("李四");
array.add("王二");
//建立疊代器對象
Iterator iter = array.iterator();
}
}