Java 确定数组是否包含重复项
我试图通过创建第二个数组,将第一个数组的元素添加到该数组中,然后检查该元素是否已经在第二个数组中,来确定字符串数组中是否有重复的元素。我不知道如何在语法上正确地做到这一点 迄今为止的代码:Java 确定数组是否包含重复项,java,arrays,duplicates,Java,Arrays,Duplicates,我试图通过创建第二个数组,将第一个数组的元素添加到该数组中,然后检查该元素是否已经在第二个数组中,来确定字符串数组中是否有重复的元素。我不知道如何在语法上正确地做到这一点 迄今为止的代码: public static boolean duplicates(String[] DUP) { String[] fresh = {}; for(int i=0; i<DUP.length; i++) if(fresh.co
public static boolean duplicates(String[] DUP)
{
String[] fresh = {};
for(int i=0; i<DUP.length; i++)
if(fresh.contains(DUP.charAt[i]))
return true;
else
fresh += DUP.charAt[i];
return false;
}
public static void main(String[] args)
{
String[] DUP = {"a","b","b","c"};
System.out.println("Array DUP contains duplicates: " + duplicates(DUP)
}
公共静态布尔值重复项(字符串[]DUP)
{
字符串[]fresh={};
对于(int i=0;i数学集合没有重复项。因此,您可以使用集合的java实现,例如和:
String[]数组={“a”、“a”、“b”};
Set=newhashset(Arrays.asList(array));
System.out.println(set.size()
…是否将true
打印为重复的“a”/> >阿纳尔。< /p> @ g uurios's'不知如何在语法上正确地执行算法。这似乎毫无意义,你已经有了一个数组,其中包含元素,你只需要不检查当前索引。如果你要做第二个数据结构,为什么不考虑一个映射?这样你的查找是O(1)。。你需要更具体一点——语法是最简单的部分。看Java数组教程可能有意义(但你可能需要一个列表)。你已经注意到,DUP没有charAt方法,字符串有一个。我想,你的意思是DUP[I]
。然后你把fresh
当作一个数字(fresh+=/code>),但你不能那样操作数组。创建数组时,你必须给它们适当的大小,你只能访问每个索引中的元素。它们也没有contains
方法,你可能想用一个ArrayList来代替。我建议将这些主题与一些教程分开来处理:字符串、数组、Lists