[java]怎么实现手动输入数组并判断输入过程中是否出现重复

比如输入1(存入数组),再输入2(存入数组),再输入1就会提示你出现重复,要求重新输入

请各位多多指点


public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String[] strArr = new String[10];
        boolean flag = true;    // 判断是否重复 true不重复 false 重复
        int len = 0;
        while (len < strArr.length) {   // 小于数组的长度一直循环
            String next = input.next();
            for (int i = 0; i < strArr.length; i++) {
                if (next.equals(strArr[i])) {
                    flag = false;
                    System.out.println("请重新输入");
                }
            }
            if (flag) {
                strArr[len] = next;
                len++;  // 每次不重复就+1
            }
            flag = true;
        }
    }

两种方式,第一种将数组转成集合,然后使用集合的contains方法,第二种就是使用for循环遍历元素进行比较
第一种转成集合案例

String[] strArr = new String[] { "a", "b", "c"};
    String str = "c";
    List<String> list = Arrays.asList(strArr);
    boolean result = list.contains(str);
    System.out.println(result); // true

第二种使用遍历的方式

String[] strArr = new String[] { "a", "b", "c" };
    String str = "c";
    for (int i = 0; i < strArr.length; i++) {
        if (strArr[i].equals(str)) {
            System.out.println("该元素在数组中: i=" + i); // 该元素在数组中: i=2
        }
    }

循环下现有的数组,看有没有一个值和当前的值相等