[問題] 儲存ListIterator或Iterator
我有一個LinkedList其存放了一些整數,
我必須以此list內的整數當key去呼叫計算函數f(),
而取得對應的value.
且必須走訪所有list內的元素才能找到具有最小value的key,
而在當找到具最小value的key後則將其key從list內刪除,
所以就寫了如下列的程式片斷:
...
LinkedList<Integer> list = new LinkedList<Integer>();
...
...將list加入一些元素
....
ListIterator<Integer> it = list.listIterator();
ListIterator<Integer> it_save;
Integer min=Integer.MAX_VALUE;
while(it.hasNext()){
int key = it.next();
int value = f(i);
//將找到具最小value的ListIterator記錄在it_save中
if(value < min){
it.previous();
It_save = it;
it.next();
}
}
//刪除具最小value的key
it_save.remove();
....
但執行後卻無法透過上面的方法來達成,
請問有辦法將Iterator在走訪到某個順序時的狀態計錄下來,
供以後使用嗎?
感謝回復
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.250.165.78
java 近期熱門文章
PTT數位生活區 即時熱門文章