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;
}
}