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