Java.util.ArrayList(類):java
import
java.awt.
*
;
import
java.util.
*
;
public
class
CollectionTest
{//List是一個能包含重複元素的已排序的Collection,有時list也稱爲序列,List第一個元素的下標爲0
public String colors[]={"red","white","blue"};//定義一個字符數組
//構造函數
public CollectionTest()
{
ArrayList list=new ArrayList();//實例化一個ArrayList
list.add(Color.magenta);//向裏面添加一個元素,這裏是顏色
for(int count=;count<colors.length;count++)
list.add(colors[count]);//加入開始聲明的數組中的元素
list.add(Color.cyan); //顏色 導入awt包
System.out.println("\nArrayList");
for(int count=;count<list.size();count++)
System.out.println(list.get(count)+" ");//從arrayList中讀取 元素
removeString(list);
System.out.println("\n\nArrayList after calling"+"removeString:");
for(int count=;count<list.size();count++)
System.out.println(list.get(count)+" ");
}
public void removeString(Collection collection)
{
Iterator itrator=collection.iterator(); //聲明一個迭代
//調用itrator的hasNext方法判斷Collection是否還包含元素
while(itrator.hasNext())
{
//調用itrator的next方法得到下一個元素的引用
if( itrator.next() instanceof String ) // instanceof 判斷是不是String 的實例
itrator.remove(); //若是是的 則刪除
}
}
public static void main(String[] args)
{
new CollectionTest();
}
}
該例示範了ArrayList的使用 先聲明瞭一String類型的數組,裏面存儲了「顏色」,是用字符串寫出的顏色,將這個字符串數組存入 ArrayList實例,同時還存入了awt包內的顏色實例,所有存入後利用迭代,刪除不符要求的假數據,也就是咱們用字符串寫的顏色,也用到了 instanceof 它是一個二元操做符,相似於equals用於判斷instanceof左邊 的對象 是不是 右邊對象的實例,如果 返回真,這裏 就能夠判斷 ArrayList裏面的真假顏色,假顏色是 字符串的 實例,因此咱們經過迭代 一個個對比。只要是String的實例就將其從數組中刪 除,因此最後 ArrayList裏面僅僅剩下二個元素,運行效果以下:
數組
java.util.HashSet(類);函數
//
Set是包含獨一無二元素的Collection,HashSet把它的元素存儲在哈希表中,而TreeSet把它的元素存儲在樹中
import
java.util.
*
;
public
class
SetTest
{
private String colors[]={"orange","tan","orange","white", "gray"};
public SetTest()
{
ArrayList list;
list=new ArrayList(Arrays.asList(colors));
System.out.println("ArrayList:"+list);
printNonDuplicates(list);
}
public void printNonDuplicates(Collection collection)
{
//構造HashSet刪除Collection中多餘的元素
HashSet set=new HashSet(collection);
// 將coolection放入HashSet後即會消除重複元素
System.out.println("set:"+set);
Iterator itrator=set.iterator();
System.out.println("\nNonDuplicates are:");
while(itrator.hasNext())
System.out.println(itrator.next()+" ");
System.out.println();
}
public static void main(String[] args)
{
new SetTest();
}
}
能夠看到重複元素 orange除去了
java.util.Set(接口)
import
java.util.HashSet;
import
java.util.Iterator;
import
java.util.Set;
class
TestSet
{
public static void main(String args[])
{
Set set = new HashSet();
set.add("aaa");
set.add("bbb");
set.add("aaa");//後面加入的重複性元素均無效
set.add("bbb");
set.add("aaa");
set.add("bbb");
set.add("aaa");
set.add("bbb");
set.add("aaa");
set.add("bbb");
Iterator ite=set.iterator();
System.out.println(set.size());//the result is 2
while(ite.hasNext())
{
System.out.println("----"+ite.next());
}
}
}
咱們看到效果
java.util.List(接口)
package
tt;
import
java.util.Arrays;
import
java.util.Collections;
import
java.util.Iterator;
import
java.util.LinkedList;
import
java.util.List;
public
class
ListTest
{
public static void baseUse(){
//鏈表實現
List list = new LinkedList();
//數組實現
//List list = new ArrayList();
list.add("a");//向列表的尾部追加"a"
System.out.println("使用list接口的add()一個參數的方法:"+list);
list.add(,"b");//在指定位置插入"b"
System.out.println("使用list接口的add二個參數的方法:"+list);
list.remove("a");//移除列表中"a"
System.out.println("使用list接口的remove()方法刪除a:"+list);
}
public static void useSort(){
String[] strArray = new String[] {"z", "a", "c","C"};
List list = Arrays.asList(strArray);
System.out.println(list);
Collections.sort(list);//根據元素天然順序排序
System.out.println("天然順序:"+list);
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);//根據指定的字母方式排序
System.out.println("指定字母方式:"+list);
Collections.sort(list, Collections.reverseOrder());//根據反轉天然順序方式排序
System.out.println("反轉天然順序:"+list);
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println(list);
Collections.reverse(list);//反轉列表排序
System.out.println(list);
}
public static void main(String[] args) {
baseUse();
// useSort();
}
}
運行
java.util.TreeSet(類)
package
tt;
import
java.util.Iterator;
import
java.util.TreeSet;
public
class
TreeSetTest
{
public static void main(String args[]){
TreeSet a = new TreeSet();
a.add("1167014513046,hondanna_mousepress");
a.add("1167014512046,hondanna_mousepress_usefull");
a.add("1167014511046,hondanna_mousepress_num");
a.add("1167014515437,hondanna_mousepress");
a.add("1167014514438,hondanna_mousepress_usefull");
Iterator iterator = a.iterator();
while(iterator.hasNext())
System.out.println(iterator.next());
}
}
運行結果:
TreeSet爲使用樹來進行存儲的Set接口提供了一個工具,對象按升序存儲,訪問和存儲是很快的,在存儲了大量的須要進行快速檢索的排序信息的狀況下,TreeSet是一個很好的選擇。 構造函數定義爲: TreeSet()-構造一個空的樹集合,該樹集合將根據其元素的天然順序按升序排序。 TreeSet(Collection c)-構造了一個包含了c的元素的樹的集合。 TreeSet(Comparator comp)-構造了一個空的樹的集合,它按照由comp指定的比較函數進行排序。 TreeSet(SortedSet ss)-構造了一個包含ss的元素的樹集合。