我已经使用列表编写了代码。但是,即使我使用了remove()方法,输出也会显示所有单词而不删除。我该怎么做才能克服?

import java.util.*;
public class ListExample1 {

public static void main(String[] args) {

    List<String> strList = new ArrayList<String>();
    //add data into list
    strList.add("ask");
    strList.add("rule");
    strList.add("left");
    strList.add("right");
    strList.add("fight");
    strList.add("fish");
    strList.add("ask");


    //read the data
    for(String str : strList){
        System.out.println(str);
    }
    System.out.println("--------------------------");
    Iterator<String> iteratorRef = strList.iterator();

    while(iteratorRef.hasNext()){
        String str = iteratorRef.next();
        System.out.println(str);
        if(str.equals("ask")){
            iteratorRef.remove();
        }
    }

最佳答案

在remove方法之后,您还没有编写任何打印语句,因此看不到结果。只需添加打印方法

System.out.println("ArrayList after removal : ");
    for(int i=0; i< strList.size(); i++)
      System.out.println(strList.get(i));
}

关于java - 一个使用迭代器删除条目的程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37953785/

10-11 05:02