英文:
How to print an arraylist and remove its duplicates in java
问题
我目前正在解决来自 https://java-programming.mooc.fi/part-5/4-objects-and-references(练习:archive) 的一个练习,要求我只打印列表中不重复的标识符。如果标识符已经在列表中找到,只会打印第一个。尽管在我的输入中有重复的标识符,但它仍然会打印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);
}
}
}
英文:
I'm currently solving an exercise from https://java-programming.mooc.fi/part-5/4-objects-and-references (Exercise: archive) and it tells me to print only the non-duplicate identifiers of the list. If the identifiers are already found in the list, only the first one will be printed. Even though there are duplicate identifiers in my input it will still print each item of the ArrayList
. How can I fix this?
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);
}
}
}
专注分享java语言的经验与见解,让所有开发者获益!
评论