Java 如何创建字符串数组列表以删除列表中已包含的字符串

Java 如何创建字符串数组列表以删除列表中已包含的字符串,java,Java,我试图在数组列表中添加3次“路易斯”,然后删除“路易斯”,这样就只有一个“路易斯”。似乎是if的问题 import java.util.ArrayList; public class Menu { private ArrayList<String> meals; public Menu() { this.meals = new ArrayList<String>(); } // Implement the method

我试图在数组列表中添加3次“路易斯”,然后删除“路易斯”,这样就只有一个“路易斯”。似乎是if的问题

import java.util.ArrayList;

public class Menu {
    private ArrayList<String> meals;

    public Menu() {
        this.meals = new ArrayList<String>();
    }

    // Implement the methods here
    public void addMeals() {

        this.meals.add("Luis");
        this.meals.add("Luis");
        this.meals.add("Luis");
        for (String container : this.meals) {
            for (int counter = 0; counter < this.meals.size(); counter++) {
                ***if (counter > 1 && this.meals.contains(container)) {
                    this.meals.remove(this.meals.indexOf(container));
                }***
            }
        }
        System.out.println(this.meals);
    }

}
import java.util.ArrayList;
公共类菜单{
私人雅丽餐;
公共菜单(){
this.feeds=new ArrayList();
}
//在这里实现这些方法
公众膳食{
本.膳食.添加(“路易斯”);
本.膳食.添加(“路易斯”);
本.膳食.添加(“路易斯”);
for(字符串容器:this.fends){
for(int counter=0;counter1&&this.fines.contains(容器)){
此.fends.remove(此.fends.indexOf(容器));
}***
}
}
System.out.println(此为膳食);
}
}

一个
数组列表可以包含重复项。还有其他Java集合类只能包含唯一的元素,例如
Set


我建议您查看for Set及其实现,这可能会解决您的问题。

听起来像是一个家庭作业。不是家庭作业,只是为我即将学习的课程做准备:您正在添加到ArrayList,而不是数组?这不会引发
ConcurrentModificationException
?您正在从列表中删除一个元素,同时对其进行迭代。@cricket\u 007是。这就是我得到的。我怎么能解决这个问题呢?你忘了这可能是赋值,在赋值中代码必须遵循疯狂的规则,因为。即使有更好的方法在前置条件因设计不当而发生之前完全消除它,它也必须发生,因此您可以尝试“消除”它。。