Collection:
簡(jiǎn)介:Collection是所有集合的根接口迁客,集合表示一組對(duì)象担敌,稱為“elements(元素)”。有些集合允許重復(fù)元素廷蓉,而有些則不允許重復(fù)元素全封。有些是有序的,而有些是無(wú)序的桃犬。JDK不提供此接口的任何直接實(shí)現(xiàn):它提供更具體的子接口的實(shí)現(xiàn)刹悴,如:Set,List。
方法詳解:
1攒暇,int size();
返回集合元素個(gè)數(shù)土匀,如果集合元素超過(guò)Integer.MAX_VALUE,則直接返回Integer.MAX_VALUE
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list.size());
}
輸出結(jié)果:
4
? 2形用,boolean isEmpty();
如果集合是一個(gè)空集合(即:集合中沒(méi)有任何元素)時(shí)就轧,才返回true证杭,否則返回false
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list.isEmpty());
}
輸出結(jié)果:
false
public static void main(String[] args) {
List list = new ArrayList<>();
System.out.println(list.isEmpty());
}
輸出結(jié)果:
true
? 3,boolean contains(Object o);
當(dāng)集合包含該特定元素時(shí)妒御,才返回true解愤,也就是說(shuō),只要集合中有這個(gè)元素乎莉,不管是有多少個(gè)送讲,即返回true,如:“e”:表示集合中的元素惋啃,? 實(shí)現(xiàn):o == null ? e == null : o.equals(e)
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("ddd");
System.out.println(list.contains("aaa"));
System.out.println(list.contains("ddd"));
System.out.println(list.contains("eee"));
}
輸出結(jié)果:
true
true
false
? 4哼鬓,Iterator iterator();
返回集合元素的迭代器。下面我們來(lái)簡(jiǎn)單介紹一下這個(gè)迭代器Iterator對(duì)象:
迭代器是一個(gè)對(duì)象边灭,在JDK中是一個(gè)接口(public interface Iterator )异希,Collection 繼承該接口(public interface Collection extends Iterable),迭代器對(duì)象很簡(jiǎn)單存筏,擁有的方法如下:
1宠互,boolean hasNext();? 檢查集合中是否還有元素
2,E next();? 獲得序列中的下一個(gè)元素
3椭坚,default void remove() { throw new UnsupportedOperationException("remove"); }? 刪除迭代器當(dāng)前返回的元素
注:循環(huán)迭代器如下:使用while循環(huán)
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
Iterator it = list.iterator();
while (it.hasNext()){
String next = it.next();
it.remove();
}
}
? 5予跌,Object[] toArray();
返回包含此集合中所有元素的數(shù)組,返回?cái)?shù)組類型只會(huì)是Object[]
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("ddd");
System.out.println(list.toArray());
}
輸出結(jié)果:
[Ljava.lang.Object;@424c0bc4
? 6善茎, T[] toArray(T[] a);
返回包含此集合中所有元素的指定類型的數(shù)組券册,返回?cái)?shù)組類型是指定的類型T[]
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("ddd");
System.out.println(list.toArray(new String[list.size()]));
}
輸出結(jié)果:
[Ljava.lang.String;@424c0bc4
? 7,boolean add(E e);
向集合中添加元素垂涯,如果添加成功則返回true烁焙,如果添加失敗則返回false
8,boolean remove(Object o);
移除此集合中的指定元素耕赘,如果該元素不在集合中骄蝇,則集合不做任何改變,如果該元素在集合中操骡,則移除首次出現(xiàn)該元素的位置上的元素
如:
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//? list.add("ddd");
System.out.println(list);
list.remove("eee");
System.out.println(list);
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd]
[aaa, bbb, ccc, ddd]
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("ddd");
System.out.println(list);
list.remove("ddd");
System.out.println(list);
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd, ddd]
[aaa, bbb, ccc, ddd]
? 9九火,boolean containsAll(Collection c);
如果集合包含指定集合中的所有元素則返回true
如:
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list);
List list1 = new ArrayList<>();
list1.add("aaa");
list1.add("bbb");
list1.add("ccc");
list1.add("ddd");
System.out.println(list1);
System.out.println(list.containsAll(list1));
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd]
[aaa, bbb, ccc, ddd]
true
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list);
List list1 = new ArrayList<>();
list1.add("aaa");
list1.add("bbb");
list1.add("ccc");
list1.add("eee");
System.out.println(list1);
System.out.println(list.containsAll(list1));
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd]
[aaa, bbb, ccc, eee]
false
? 10,boolean addAll(Collection c);
將指定集合中的所有元素添加到集合中
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list);
List list1 = new ArrayList<>();
list1.add("aaa");
list1.add("bbb");
System.out.println(list1);
System.out.println(list.addAll(list1));
System.out.println(list);
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd]
[aaa, bbb]
true
[aaa, bbb, ccc, ddd, aaa, bbb]
? 11册招,boolean retainAll(Collection c);
僅保留此集合包含在指定集合中的所有元素岔激,通俗講就是,求兩個(gè)集合的交集
如:
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list);
List list1 = new ArrayList<>();
list1.add("aaa");
list1.add("bbb");
list1.add("ccc");
list1.add("eee");
System.out.println(list1);
System.out.println(list.retainAll(list1));
System.out.println(list);
}
輸出結(jié)果:
[aaa, bbb, ccc, ddd]
[aaa, bbb, ccc, eee]
true
[aaa, bbb, ccc]
? 12是掰,void clear();
刪除集合中所有元素虑鼎,也就是清空集合