首页 > 解决方案 > 如何在java中打印一个arraylist并删除它的重复项

问题描述

我目前正在解决https://java-programming.mooc.fi/part-5/4-objects-and-references(练习:存档)的练习,它告诉我只打印不重复的标识符列表。如果已在列表中找到标识符,则仅打印第一个。即使我的输入中有重复的标识符,它仍然会打印ArrayList. 我怎样才能解决这个问题?

期望的输出:

期望的输出

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        ArrayList<String> items = new ArrayList<>();

        String identifier = "";

        String name = "";

        while (true) {
            System.out.println("Identifier? (empty will stop)");

            identifier = scanner.nextLine();

            if (identifier.isEmpty()) {
                break;
            }

            System.out.println("Name? (empty will stop)");

            name = scanner.nextLine();

            if (name.isEmpty()) {
                break;
            }

            if (!items.contains(identifier)) {
                items.add(identifier + ": " + name);
            }
        }

        System.out.println("");
        System.out.println("==Items==");
        for (String i : items) {
            System.out.println(i);
        }
    }

}

标签: javaarraylistduplicates

解决方案


推荐阅读