Java 程序未给出预期在ArrayList中找到重复项的结果
我必须在arraylist中找到任何重复的元素,然后才能将其添加到arraylist中。但它没有给出正确的输出。编译和运行都不会给出任何错误Java 程序未给出预期在ArrayList中找到重复项的结果,java,arraylist,duplicates,Java,Arraylist,Duplicates,我必须在arraylist中找到任何重复的元素,然后才能将其添加到arraylist中。但它没有给出正确的输出。编译和运行都不会给出任何错误 public class MyDuplicateEntry { public static void main(String a[]) { String[] strArr = {"one", "two", "three", "four", "four", "five"}; ArrayList<String&g
public class MyDuplicateEntry {
public static void main(String a[]) {
String[] strArr = {"one", "two", "three", "four", "four", "five"};
ArrayList<String> unique = new ArrayList<String>();
for (String str : strArr) {
if (!unique.add(str)) {
System.out.println("Duplicate Entry is: " + str);
}
}
}
}
公共类MyDuplicateEntry{
公共静态void main(字符串a[]{
字符串[]strArr={“一”、“二”、“三”、“四”、“四”、“五”};
ArrayList unique=新的ArrayList();
用于(字符串str:strArr){
如果(!unique.add(str)){
System.out.println(“重复条目为:“+str”);
}
}
}
}
虽然java.util.ArrayList.add()
确实返回布尔值,但这是硬编码为始终为真的
您似乎假设,如果元素已经在列表中,那么它将返回false——事实并非如此
您必须手动检查,请参见ArrayList.contains()
笔记
有关始终返回true的详细信息,请参见上的javadoc。虽然
java.util.ArrayList.add()
确实返回布尔值,但这是硬编码为始终为true的
您似乎假设,如果元素已经在列表中,那么它将返回false——事实并非如此
您必须手动检查,请参见ArrayList.contains()
笔记
有关始终返回true的详细信息,请参见上的javadoc。虽然
java.util.ArrayList.add()
确实返回布尔值,但这是硬编码为始终为true的
您似乎假设,如果元素已经在列表中,那么它将返回false——事实并非如此
您必须手动检查,请参见ArrayList.contains()
笔记
有关始终返回true的详细信息,请参见上的javadoc。虽然
java.util.ArrayList.add()
确实返回布尔值,但这是硬编码为始终为true的
您似乎假设,如果元素已经在列表中,那么它将返回false——事实并非如此
您必须手动检查,请参见ArrayList.contains()
笔记
有关始终返回true的详细信息,请参阅上的javadoc。是否有可能格式化代码?什么是大于符号?这是完全不可读的。在没有签名的情况下更改格式仍然很难看,并且不符合标准。@user2947572不是一个真正的问题,但是格式不好与这里的新内容无关。存在描述代码应如何格式化的Java代码约定。当所有人都遵循这些约定时,每个人都能更容易地从他人那里阅读代码。你有没有可能格式化你的代码?什么是大于符号?这是完全不可读的。在没有签名的情况下更改格式仍然很难看,并且不符合标准。@user2947572不是一个真正的问题,但是格式不好与这里的新内容无关。存在描述代码应如何格式化的Java代码约定。当所有人都遵循这些约定时,每个人都能更容易地从他人那里阅读代码。你有没有可能格式化你的代码?什么是大于符号?这是完全不可读的。在没有签名的情况下更改格式仍然很难看,并且不符合标准。@user2947572不是一个真正的问题,但是格式不好与这里的新内容无关。存在描述代码应如何格式化的Java代码约定。当所有人都遵循这些约定时,每个人都能更容易地从他人那里阅读代码。你有没有可能格式化你的代码?什么是大于符号?这是完全不可读的。在没有签名的情况下更改格式仍然很难看,并且不符合标准。@user2947572不是一个真正的问题,但是格式不好与这里的新内容无关。存在描述代码应如何格式化的Java代码约定。当所有人都遵循这些约定时,每个人都更容易从其他人那里阅读代码。
public static void main(String a[]) {
String[] strArr = { "one", "two", "three", "four", "four", "five" };
ArrayList<String> unique = new ArrayList<String>();
for (String str : strArr) {
if (unique.contains(str)) {
System.out.println("Duplicate Entry is: " + str);
} else {
unique.add(str);
}
}
}
public static void main(String a[]) {
String[] strArr = { "one", "two", "three", "four", "four", "five" };
HashSet<String> unique = new HashSet<String>();
for (String str : strArr) {
if (! unique.add(str)) {
System.out.println("Duplicate Entry is: " + str);
}
}
}