看板 ncyu_phyedu 關於我們 聯絡資訊
對絕大部分應用來說, 資料量的大小, 必須等到執行期間才知道。由於Java的陣列一但產 生後, 就沒有辦法變更其大小, 因此JDK在java.util裡面提供了相關的容器類別, 比較常 用的類別有: Vector可視為長度沒有限制的陣列 Hashtable利用get和put函數把(key, val)放進該容器內 Enumeration可利用此類別將Hashtable內的資料逐一取出 Stackwith push(), pop() methods 範例程式 import java.util.*; public class VectorExample { public static void main(String[] argv) { Vector v = new Vector(); for (int i = 0; i < 100; i++) { v.add(new Integer(i)); // v.add(index, element) } for (int i = 0; i < v.size(); i++) { Integer x = v.get(i); } Integer[] y = (Integer[])v.toArray(); for (int i = v.size()-1; i >= 0; i--) { v.remove(i); } } public static void fun() { Vector v = new Vector(); for (int i = 0; i < 100; i++) { v.add(new Integer(i)); } for (int i = 0; i < v.size(); i++) { Integer x = (Integer)v.get(i); } Integer[] y = (Integer[])v.toArray(); for (int i = v.size()-1; i >= 0; i--) { v.remove(i); } for (int i = 0; i < 100; i++) { v.add(new Float(i)); } for (int i = 0; i < v.size(); i++) { Float x = (Float)v.get(i); } Float[] z = (Float[])v.toArray(); for (int i = v.size()-1; i >= 0; i--) { v.remove(i); } } } import java.util.*; public class Example3 { public static void main(String[] argv) { Vector v = new Vector(); for (int i = 0; i < 10; i++) { v.add(Integer.toString(i)); } for (int i = 0; i < v.size(); i++) { String x = (String)v.get(i); System.out.println(x); } String[] tmp = new String[v.size()]; v.copyInto(tmp); for (int i = 0; i < tmp.length; i++) { System.out.println(tmp[i]); } Hashtable ht = new Hashtable(); for (int i = 0; i < 10; i++) { ht.put(new Integer(i), Integer.toString(i)); } for (int i = 0; i < 10; i++) { String x = (String)ht.get(new Integer(i)); System.out.println(x); } Enumeration enu = ht.elements(); while (enu.hasMoreElements()) { String x = (String)enu.nextElement(); System.out.println(x); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.58.22.74