程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 遍歷-循環判斷處,為何用Object對象代替li.next()返回結果正確,否則就不對!求大神答疑!

遍歷-循環判斷處,為何用Object對象代替li.next()返回結果正確,否則就不對!求大神答疑!

編輯:編程綜合問答
循環判斷處,為何用Object對象代替li.next()返回結果正確,否則就不對!求大神答疑!

/*
需求:定義一種方法,找出集合中的單獨元素
思路:
1、創建一個新的集合
2、遍歷集合所有元素
3、將新集合中沒有的元素添加到新集合當中
4、返回新集合
/
import java.util.
;
class ArrayListTest
{
public static void sop(Object obj){// 單獨定義的一個輸出方法
System.out.println(obj);
}
public static ArrayList singleElement(ArrayList al){//定義方法,查找集合中的單個元素,並添加到新集合當中
ListIterator li=al.listIterator();
ArrayList newal=new ArrayList();
while(li.hasNext()){//循環判斷集合中是否還有元素
//Object obj=li.next();
if(!newal.contains(li.next())){
newal.add(li.next());

}
}
return newal;
}
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java01");
al.add("java03");
al.add("java01");
al.add("java02");
sop(al);//輸出原始集合
al=singleElement(al);//對原始集合進行篩選,保留相同元素
sop(al);//輸出新集合
}
}

最佳回答:


// 假定這時 li 中有 {A,B}
if(!newal.contains(li.next())){ // 這時li.next()返回A,判斷的是A是否存在
    newal.add(li.next()); // 假如不存在,又調用li.next()返回B,添加的是B啊!B啊!!B啊!!!
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved