標籤:new for迴圈 generics ext java程式 機制 元素 種類 size
在Java程式中,要“逐一處理”――或者說,“遍曆”――某一個數組或Collection中的元素的時候,一般會使用一個for迴圈來實現(當 然,用其它種類的迴圈也不是不可以,只是不知道是因為for這個詞的長度比較短,還是因為for這個詞的含義和這種操作比較配,在這種時候for迴圈比其 它迴圈常用得多)。
對於遍曆數組,這個迴圈一般是採取這樣的寫法:
遍曆數組的傳統方式:
public void addIterator(){
List<String> list = new ArrayList<String>();
//List list = new ArrayList();
list.add("aa");
list.add("bb");
list.add("cc");
//for(Object ls : list) {
// ls = list.get(list.size());
for(int i=0;i<list.size();i++){
String ls = (String) list.get(i);
System.out.print("添加的數組是"+ls+"\n");
}
}
public void addIterator1() {
List<String > list = new ArrayList<String>();
list.add("11");
list.add("22");
list.add("33");
for (Object ls : list) {
System.out.print("添加的數組是" + ls + "\n");
}
}
遍曆Collection的簡單方式的等價代碼:
public void iterator(){
List ls = new ArrayList();
ls.add("aa");
ls.add("bb");
ls.add("cc");
for(Iterator i=ls.iterator();i.hasNext();){
String str =(String) i.next();
System.out.print(str+"\n");
}
System.out.print("第二個迴圈"+"\n");
Iterator it = ls.iterator();
while(it.hasNext()){
String str =(String) it.next();
System.out.print(str+"\n");
}
}
始終無法在Java程式裡限定Collection中所能儲存的對象的類型――它們全部被看成是最一般的Object對象。一直到J2SE 1.5中,引入了“泛型(Generics)”機制之後,這個問題才得到瞭解決。現在可以用Collection< T>來表示全部元素類型都是T的Collection。
JAVA中的for迴圈