「Java8」Iteratorでコレクションの指定要素を削除する

環境
JavaSE1.8
Eclipse 2019-12
書式
1.hasNext()
反復処理でさらに要素がある場合にtrueを返します。
2.remove()
ベースとなるコレクションから、このイテレータによって最後に返された要素を削除します(オプションの操作)。
3.E next() 反復処理で次の要素を返します。
戻り値:反復処理での次の要素

使用例

package com.arkgame.study;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo {
      // 配列の定義
      private static String cityArr[] = { "東京", "大阪", "福岡", "横浜" };
      // 削除要素
      private static String DELNAME = "福岡";

      public static void main(String[] args) {
            // ArrayListのリストを生成
            List<String> resLst = new ArrayList<>(Arrays.asList(cityArr));
            System.out.println("ループ処理で要素を削除する前");
            System.out.println(resLst);
            
            System.out.println("**********************");
            // イテレーターをセット
            Iterator<String> itr = resLst.iterator();

            System.out.println("ループ処理で要素を削除する後");
            String element2;
            while (itr.hasNext()) {
                  element2 = itr.next();
                  if (element2.equals(DELNAME)) {
                        //removeメソッドで要素を削除する
                        itr.remove();
                  }
            }
            System.out.println(resLst);
            
      }
      
}

実行結果
ループ処理で要素を削除する前
[東京, 大阪, 福岡, 横浜]
**********************
ループ処理で要素を削除する後
[東京, 大阪, 横浜]

Java

Posted by arkgame