java - 删除java arraylist中的重复项

标签 java arraylist iterator

谢谢马可。我重写代码。尽量让它简单。这次真的可以编译了。但它只能删除彼此相邻的重复项目。例如,如果我输入 1 2 3 3 4 4 5 1 -- 输出是 1 2 3 4 5 1。最后它无法提取重复项。 (顺便说一句:这个网站是新手,如果有任何显示困惑,我深表歉意)

这是新代码:

import java.util.*;

public class SetListDemo{
public static void main(String[] args){
    SetListType newList = new SetListType();
    Scanner keyboard = new Scanner(System.in);

    System.out.println( "Enter a series of items: ");
        String input = keyboard.nextLine();

    String[] original = input.split(" ");
    for (String s : original)
    newList.insert(s);

    List<String> finalList = new ArrayList(Arrays.asList(original)) ;

    Iterator<String> setIterator = finalList.iterator();  

    String position = null;

    while(setIterator.hasNext()){
        String secondItem = setIterator.next();

        if(secondItem.equals(position)){
            setIterator.remove();
        }   

        position = secondItem;
    }

    System.out.println("\nHere is the set list:");
    displayList(finalList);
    System.out.println("\n");
}

public static void displayList(List list){
    for(int index = 0; index <list.size(); index++)
    System.out.print(list.get(index) + ", ");
}

}

最佳答案

回答“delete duplicates in java arraylist”这个问题:

只需将所有元素放入 Set 即可。

-或-

迭代您的原始列表并将元素添加到List,但在添加它们之前,请检查List#contains()是否元素已经存在。

编辑:试试这个:

String[] original = input.split(" ");
List<String> finalList = new ArrayList<String>();

for (String s : original) {
    if (!finalList.contains(s)) {
        finalList.add(s);
    }
}

System.out.println("\nHere is the set list:");
displayList(finalList);
System.out.println("\n");

关于java - 删除java arraylist中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12196762/

相关文章:

Java动态var分配给变量

java - JTable读取空值

java - 字符串列表中单词的频率

c++ - 一个尾数下标的明显规范不足:对于原始数组和 std::vector。已经果断解决了吗?

iterator - 是否有类似 Iterator 的特征返回在下一次访问之前必须超出范围的引用?

Java 视频播放器

java - 将 Java 应用程序放入 Mac OS X 上的 Dock

java - 为什么设置ArrayList时不需要返回值?

java - 如何将 String[][] 获取到 Arraylist<String[][]>

c++ - 在std::vector上扩展迭代器的成员选择操作符 `->`的实现是否正确?