「Java」Iterator.remove()メソッドでリストの要素を削除するサンプル
説明
1.public static <T> List<T> asList(T… a)
指定された配列に連動する固定サイズのリストを返します。返されたリストへの変更は、そのまま配列に書き込まれます。
2.public LinkedList(Collection<? extends E> c)
指定されたコレクションの要素が含まれているリストを、コレクションのイテレータによって返される順序で構築します。
使用例
package com.arkgame.study.javlesson;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class IteartorRemoveDemo {
public static final List<Integer> cftLst = new LinkedList<>(Arrays.asList(23, 45, 56, 78, 90));
public static void main(String[] args) {
System.out.println("要素を削除する前: " + cftLst);
Iterator<Integer> itr = cftLst.iterator();
while (itr.hasNext()) {
// 次の要素
int eleVal = itr.next();
if (eleVal == 78 || eleVal == 56) {
// 要素を削除
itr.remove();
}
}
System.out.println("要素を削除する後: " + cftLst);
}
}
package com.arkgame.study.javlesson;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class IteartorRemoveDemo {
public static final List<Integer> cftLst = new LinkedList<>(Arrays.asList(23, 45, 56, 78, 90));
public static void main(String[] args) {
System.out.println("要素を削除する前: " + cftLst);
Iterator<Integer> itr = cftLst.iterator();
while (itr.hasNext()) {
// 次の要素
int eleVal = itr.next();
if (eleVal == 78 || eleVal == 56) {
// 要素を削除
itr.remove();
}
}
System.out.println("要素を削除する後: " + cftLst);
}
}
package com.arkgame.study.javlesson; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class IteartorRemoveDemo { public static final List<Integer> cftLst = new LinkedList<>(Arrays.asList(23, 45, 56, 78, 90)); public static void main(String[] args) { System.out.println("要素を削除する前: " + cftLst); Iterator<Integer> itr = cftLst.iterator(); while (itr.hasNext()) { // 次の要素 int eleVal = itr.next(); if (eleVal == 78 || eleVal == 56) { // 要素を削除 itr.remove(); } } System.out.println("要素を削除する後: " + cftLst); } }
実行結果
要素を削除する前: [23, 45, 56, 78, 90]
要素を削除する後: [23, 45, 90]