В настоящее время я решаю упражнение из 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);
}
}
}