Java 的資料型別與例外狀況
Jim White
Java Developer
List 介面,為 Collection 的子介面List 的多種實作ArrayList:可調整大小、具索引(如陣列)、有序的物件清單
LinkedList:物件以連結串接到下一個與前一個物件。
new 建立實例,並用泛型指定內容型別.add(object) 將物件加到清單尾端.get(index) 取用物件ArrayList 使用從 0 開始的索引.set(index, object) 取代/變更物件.remove(index) 移除物件.clear() 清空所有物件.size() 取得物件數量import java.util.ArrayList; ... ArrayList<String> animals = new ArrayList<String>();animals.add("horse"); animals.add("cow"); animals.add("horse"); // Duplicates allowedString c = animals.get(1); // c="cow" animals.set(1, "chicken");// Removes the first horse animals.remove(0); // Removes all objects animals.clear();animals.size();
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(5));
list.add(6); // 6 會自動以 Integer 包裝後加入
Object 作為參數化型別ArrayList<Object> list = new ArrayList<Object>(); // 允許任何物件
list.add(new Integer(5)); // 加入 Integer
list.add(6); // 以自動裝箱加入 Integer
list.add("Hello"); // 加入 String
List 內的物件ArrayList<String> animals = new ArrayList<String>();
animals.add("horse");
animals.add("cow");
animals.add("chicken");
for (String animal : animals) { // for-each 走訪 ArrayList 全部元素
System.out.println(animal);
}
horse
cow
chicken
List 實例(如 ArrayList)的內容可用 println 顯示ArrayList<String> animals = new ArrayList<String>();
animals.add("horse");
animals.add("cow");
animals.add("chicken");
System.out.println(animals); // 顯示 ArrayList 的所有元素
ArrayList<Object> list = new ArrayList<Object>();
list.add(5);
list.add("Hello");
System.out.println(list); // 顯示 ArrayList 的所有元素
[horse, cow, chicken]
[5, Hello]
LinkedList 的建立方式與 ArrayList 相同LinkedList 與 ArrayList 方法相同import java.util.LinkedList;
...
LinkedList<String> cars // Create a new ...
= new LinkedList<String>(); // ... LinkedList
cars.add("Ford"); // Add an object to the list
cars.add("Mercedes");
String c = cars.get(1);
cars.set(1, "Toyota"); // Replace an object
System.out.println(cars); // Display the list
cars.remove(0); // Remove an object
cars.clear(); // Remove all objects
cars.size(); // Get the list length
[Ford, Toyota]
addFirst() 加到清單開頭addLast() 加到清單尾端removeFirst() 從開頭移除removeLast() 從尾端移除cars.addFirst("Fiat"); // Add to the beginning
cars.addLast("BMW"); // Add the the end
cars.removeFirst(); // Remove the first object
cars.removeLast(); // Remove the last object
ArrayList 與 LinkedList 外觀與用法類似ListArrayList 與 LinkedList(或任何 List)的操作相同List 取決於用途ArrayList 的考量:list.get(11))
LinkedList 的考量:list.get(11))
Java 的資料型別與例外狀況