小编Eld*_*yrm的帖子

在Java中,是否有更优雅的方法从Strings的ArrayList中删除重复的字符串?

所以,简而言之,我有一个Java作业分配,需要以各种方式操作字符串的长ArrayList(我们正在做的事情,如显示单词的组合,添加和从ArrayList中删除,没有什么特别的).我注意到一些提供的ArrayLists有重复的条目(这个分配不需要重复项),所以我从老师那里得到了通过删除重复条目来清理数据的好处.这是我想出的:

private static ArrayList<String> KillDups(ArrayList<String> ListOfStrings) {  

    for (int i = 0 ; i < ListOfStrings.size(); i++) {
        for (int j = i + 1; j < ListOfStrings.size(); j++) {
            //don't start on the same word or you'll eliminate it.
            if ( ListOfStrings.get(i).toString().equalsIgnoreCase( ListOfStrings.get(j).toString() )  ) {
                ListOfStrings.remove(j);//if they are the same, DITCH ONE.
                j = j -1; //removing the word basically changes the index, so swing down one.
            }                                
        }
    }
    return ListOfStrings;
}
Run Code Online (Sandbox Code Playgroud)

这对我的任务很好,但我怀疑它在现实世界中会非常有用.有没有办法在比较期间忽略空格和特殊字符?是否有更清洁的方法来处理这个问题(可能没有嵌套的For循环)?还有其他问题我应该问我不知道要问吗?

java string for-loop arraylist

6
推荐指数
1
解决办法
6872
查看次数

标签 统计

arraylist ×1

for-loop ×1

java ×1

string ×1