java.awt.List java.util.List
事實(shí)上并沒(méi)有什么必然關(guān)系擂找,哈哈哈哈哈
java.awt 開(kāi)發(fā)圖形界面的包
java.awt.List是一個(gè)類(lèi)
java.util.List是一個(gè)接口
關(guān)于抽象對(duì)象和接口不能實(shí)列化
子類(lèi)對(duì)象的向上轉(zhuǎn)型
java.util.List list = new ArrayList<String>();
//但是它們可以創(chuàng)建一個(gè)指向自己的對(duì)象引用
//此時(shí)它就是一個(gè)List對(duì)象了,它有些ArrayList類(lèi)具有的浩销,但是List接口沒(méi)有的屬性和方法贯涎,它就不能再用了
set list
set:無(wú)序且唯一
list:有序,不唯一
ArrayList 和 LinkedList
arraylist 數(shù)組慢洋,查詢操作
linkedlist 雙向鏈表塘雳,增刪操作
HashSet TreeSet
set是唯一的
所以hashset treeset都是最起碼可以比較
treeset 重寫(xiě)compareto方法,自動(dòng)排序普筹,不知道iterator是根據(jù)什么遍歷的
所以在寫(xiě)類(lèi)的時(shí)候一定要重寫(xiě)equals和hascode()方法
add() | contains() remove() | |
---|---|---|
HashSet | hashCode和equals() | hascode() 和equals() |
ArrayList | 都不依據(jù) | (o == null ? e == null : o.equals(e)) |
import java.util.ArrayList;
import java.util.Iterator;
public class CollectionTest{
public static void main(String args[]){
ArrayList<String> arrstr = new ArrayList<String>(5);
System.out.println(arrstr.size());//0
arrstr.add("1");
arrstr.add("2");
arrstr.add("3");
arrstr.add("4");
System.out.println(arrstr.size());//4
System.out.println(arrstr.contains("2"));//true
arrstr.add(1,"2");//12234
System.out.println(arrstr.toString());//[1, 2, 2, 3, 4]
System.out.println(arrstr.indexOf("2"));//1
System.out.println(arrstr.get(2));//2
arrstr.remove("2");
Iterator<String> it = arrstr.iterator();
while(it.hasNext()){
System.out.print(it.next()+"\t");
}
}
}