Как распечатать массив и удалить его дубликаты в java - PullRequest
1 голос
/ 04 апреля 2020

В настоящее время я решаю упражнение из https://java-programming.mooc.fi/part-5/4-objects-and-references (Упражнение: архив), и оно говорит мне печатать только неповторяющиеся идентификаторы из списка. Если идентификаторы уже найдены в списке, будет напечатан только первый. Несмотря на наличие дублирующих идентификаторов на моем входе, он все равно будет печатать каждый элемент ArrayList. Как я могу это исправить?

Желаемый результат:

Desired Output

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);
        }
    }

}
...