ArrayList 讀快 改 慢(底層數組實現)
LinkedList 改快 讀 慢 (鏈表 實現)
Hash兩者之間
重復是指equals相同就是重復
當對象當作索引的時候(鍵、值):重寫equals方法,必須重寫hashCode方法,保證equals了,要保證 hashCode也相同
Set: 沒有順序,不可以重復
List: 有順序,可以重復
Map:一個叫鍵,一個值 兩個兩個往裡面放的
Collection方法 舉例子一:
package com.Collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main (String []args){
Collection c = new ArrayList();
c.add("hello");
c.add(new Integer(12));
c.add("lsb");
System.out.println(c.size ());
System.out.println(c);
}
}
顯示結果:
3
[hello, 12, lsb]
分析:打印 c 的時候調用c.toString()方法,顯示的是c中的所有的內容並用[]擴住
Collection方法 舉例二: Iterator
package com.Collection;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionTest {
public static void main(String []args){
Collection c = new HashSet();
c.add("hello");
c.add("abc");
c.add("lsb");
Iterator iter = c.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
}
}
顯示結果:
hello
lsb
abc
Collection方法 舉例二: Set方法
package com.Collection;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionTest {
public static void main(String []args){
Collection c1 = new HashSet();
c1.add("a");
c1.add("b");
c1.add("c");
Collection c2 = new HashSet();
c2.add("a");
c2.add ("b");
c2.add("d");
Collection cn = new HashSet(c1);
cn.retainAll(c2);
//取兩個集合的交集
Collection cm = new HashSet(c1);
cm.addAll(c2);
System.out.println(cn);
System.out.println(cm);//取兩個集合的並 集
}
}
顯示結果:
[a, b]
[d, a, c, b]
當對象要比較大小的時候,那要看該對象是否實現了Comparable接口,該接口中只有一個
方法public int compareTo(Object obj);(如果為jdk1.5以上那麼參數為T 泛型),這樣才可以比較大 小與排序
MAP