Collection的三個常用接口
1. List --- ArrayList LinkedList
import java.util.ArrayList; import java.util.List; /** * List的常用實現 * ArrayList:底層爲數組,查詢快,增加、刪除慢 * LinkedList:底層爲鏈表,增加、刪除速度快,查詢速度慢(前一個節點位置+當前節點數據+下一節點地址) * Vector:底層爲數組,線程安全,用於多線程共享 * @author Administrator * */ public class TestList { public static void main(String[] args) { List list = new ArrayList(); //List的常用方法 list.add(1111); list.add("ssss"); list.add(new Dog()); System.out.println(list.size()); list.remove(0); System.out.println(list.get(0)); List list2= new ArrayList(); list2.add(55); list2.add(list); System.out.println(list2.size()); } } class Dog{ }
2. Set --- HashSet
import java.util.HashSet;
import java.util.Set;
/**
* 測試set的基本用法
* 無序、不可重複
* 常用實現Hashset,底層通過Hashmap實現
* @author Administrator
*
*/
public class TsetSet {
public static void main(String[] args) {
Set set = new HashSet();
set.add(111);
set.add(222);
set.add(333);
System.out.println(set.contains(111));
}
}
3. Map<K,V> --- HashMap
import java.util.HashMap;
import java.util.Map;
/**
* 測試Map的基本用法
* 鍵值不可重複,後續覆蓋
* 底層實現爲:數組+鏈表
* @author Administrator
*
*/
public class TsetMap {
public static void main(String[] args) {
Map map = new HashMap();
map.put("aaa", new Wife("111"));
map.put("bbb", new Wife("222"));
map.remove("aaa");
Wife w = (Wife) map.get("aaa");
map.containsKey("bbb");
map.containsValue("222");
System.out.println(w.name);
}
}
class Wife{
String name;
public Wife(String name){
this.name = name;
}
}