package com.common.api;
import java.util.*;
/*
* 集合類:
* 1、集合類出現的原因:用來存儲對象
* 2、數組與集合的不同:
* 1)數組是固定長度,集合是可變長度
* 2)數組只能存貯一種類型,集合可以存儲多種類型
* 3、集合的特點:
* 1)集合用於存儲對象,集合長度可變,集合可以存儲不同類型的對象
*
* 集合框架
* 1、集合框架類的結構:
* collections
* |-------List
* | |------ArrayList
* | |------LinkedList
* | |------Vector
* |-------Set
* | |--------HashSet
* | |--------TreeSet
* 2、爲什麼會出現這麼多的容器?
* 因爲每個容器對數據的存儲方式都有不同,這個存儲方式成爲數據結構
*
* Collection共性接口
* boolean add(E e)
* boolean addAll(Collection<? extends E> c)
* void clear()
* boolean remove(Object o)
* boolean removeAll(Collection<?> c)
* boolean contains(Object o)
* boolean containsAll(Collection<?> c)
* boolean isEmpty()
* Object[] toArray()
* int size()
* Iterator<E> iterator()
*
* 迭代器:其實就是集合的取出元素的方式
*
*
*/
public class CollectionDemo {
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method_base()
{
ArrayList a=new ArrayList();
//1、添加元素
a.add("java01");
a.add("java02");
a.add("java03");
a.add("java04");
//2.獲取個數,集合長度
sop("a.size()= "+a.size());
sop("a="+a);
//刪除元素
a.remove("java02");
sop("a.size()= "+a.size());
sop("a="+a);
//清空集合
a.clear();
sop("a.size()= "+a.size());
sop("a="+a);
//判斷集合
sop(a.isEmpty());
sop(a.contains("java01"));
a.add("java01");
a.add("java02");
a.add("java03");
a.add("java04");
sop(a.isEmpty());
sop(a.contains("java01"));
}
public static void method_2()
{
ArrayList a1=new ArrayList();
//1、添加元素
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
ArrayList a2=new ArrayList();
//1、添加元素
a2.add("java01");
a2.add("java02");
a2.add("java05");
a2.add("java06");
//取交集
a1.retainAll(a2);
sop("a1="+a1);
sop("a2="+a2);
//恢復a1的原始狀態
a1.add("java03");
a1.add("java04");
//removeall
a1.removeAll(a2);
sop("a1="+a1);
sop("a2="+a2);
}
public static void method_get()
{
ArrayList a1=new ArrayList();
//1、添加元素
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
Iterator it=a1.iterator();//獲取迭代器,用於取出集合中的元素
while(it.hasNext())
{
sop(it.next());
}
for(Iterator it1=a1.iterator();it1.hasNext();)
{
sop(it1.next());
}
}
public static void main(String[] args) {
// 創建一個集合容器,使用collection接口的一個子類,ArrayList
method_base();
method_2();
method_get();
}
}
運行結果如下:
a.size()= 4
a=[java01, java02, java03, java04]
a.size()= 3
a=[java01, java03, java04]
a.size()= 0
a=[]
true
false
false
true
a1=[java01, java02]
a2=[java01, java02, java05, java06]
a1=[java03, java04]
a2=[java01, java02, java05, java06]
java01
java02
java03
java04
java01
java02
java03
java04