java.awt.List java.util.List
事实上并没有什么必然关系,哈哈哈哈哈
java.awt 开发图形界面的包
java.awt.List是一个类
java.util.List是一个接口
关于抽象对象和接口不能实列化
子类对象的向上转型
java.util.List list = new ArrayList<String>();
//但是它们可以创建一个指向自己的对象引用
//此时它就是一个List对象了,它有些ArrayList类具有的,但是List接口没有的属性和方法,它就不能再用了
set list
set:无序且唯一
list:有序,不唯一
ArrayList 和 LinkedList
arraylist 数组,查询操作
linkedlist 双向链表,增删操作
HashSet TreeSet
set是唯一的
所以hashset treeset都是最起码可以比较
treeset 重写compareto方法,自动排序,不知道iterator是根据什么遍历的
所以在写类的时候一定要重写equals和hascode()方法
add() | contains() remove() | |
---|---|---|
HashSet | hashCode和equals() | hascode() 和equals() |
ArrayList | 都不依据 | (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");
}
}
}
网友评论