最近在看JAVA教學的視頻,覺得老師講的很好,同時借用源代碼還有筆記來撰寫本系列博客,記錄自己的學習內容,同時也供看到的人學習。
本篇開始JAVA的第二大部分內容介紹。
本篇先來介紹容器的大致概念:
接下里看看容器相關接口的結構框圖,後續會陸續介紹:
最後介紹一下ArrayList的一些常見的使用(ArrayList、LinkedList、Vector均爲List的子類):
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 測試List中的基本方法
* @author Administrator
*
*/
public class Test01 {
public static void main(String[] args) {
List list = new ArrayList(); //以後都這麼寫,左面是接口右面是實現類
//ArrayList:底層實現是數組,線程不安全,效率高。所以,查詢快。修改、插入、刪除慢。
//LinkedList:底層實現是鏈表,線程不安全,效率高。所以,查詢慢。修改、插入、刪除快。
//Vector:線程安全的,效率低。
list.add("aaa"); //往list裏面裝什麼都行~
list.add("aaa");
list.add(new Date());
list.add(new Dog());
list.add(1234); //包裝類的:自動裝箱!
list.remove(new String("aaa"));
System.out.println(list.size()); //打印當前list的大小,當前往裏面裝了多少個就就返回相應的個數(返回:4)
System.out.println(list.isEmpty());
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
list.set(3, new String("3333"));
list.add(4, new String("3333"));
/* System.out.println(list.isEmpty());
list.remove(new Dog()); //和hashcode和equals有關,後續會解釋
System.out.println(list.size());
List list2 = new ArrayList();
list2.add("bbb");
list2.add("ccc");
list.add(list2);
//跟順序的操作
String str = (String) list.get(0);
System.out.println(str);
list.set(1, "ababa"); //往指定的位置放
list.remove(0);*/
}
}