检查数组是否包含某些整数

时间:2012-12-09 16:07:55

标签: java arrays integer

我正在制作一个10个整数长的数组,因此每个地方0-9包含一个不同的整数0-9。

我无法弄清楚如何检查数组是否已包含某个数字,如果是,则重新生成一个新数字。

到目前为止,我有:

for (int i = 0; i < perm.length; i++)
{
    int num = (int) (Math.random() * 9); 
    int []

    perm[i] = num;   
}

3 个答案:

答案 0 :(得分:3)

Arrays.asList(perm).contains(num) 

来自How can I test if an array contains a certain value?

for (int i = 0; i < perm.length; i++)

这不足以像这样循环,如果发生碰撞,一些插槽就不会被初始化。

总体,对于此任务,您最好按顺序使用值初始化数组,然后使用随机排列索引shuffle

答案 1 :(得分:0)

这是一个完整的答案

int[] array = {3,9, 6, 5, 5, 5, 9, 10, 6, 9,9};

    SortedSet<Integer> s = new TreeSet();
    int numberToCheck=61;
    for (int i = 0; i < array.length; i++) {
        s.add(array[i]);
    }

    System.out.println("Number contains:"+!(s.add(numberToCheck)));


    System.out.println("Sorted list:");
    System.out.print(s);

答案 2 :(得分:0)

添加字符串和整数以检查是否存在。

public class existOrNotInArray {

public static void elementExistOrNot() {
    // To Check Character exist or not
    String array[] = { "AB", "CD", "EF" };

    ArrayList arrayList = new ArrayList<>();

    String stringToCheck = "AB";

    for (int i = 0; i < array.length; i++) {
        arrayList.add(array[i]);
    }

    System.out.println("Character exist : " + arrayList.contains(stringToCheck));

    // To Check number exit or not
    int arrayNum[] = { 1, 2, 3, 4 }; // integer array

    int numberToCheck = 5;

    for (int i = 0; i < arrayNum.length; i++) {
        arrayList.add(arrayNum[i]);
    }
    System.out.println("Number exist :" + arrayList.contains(numberToCheck));
}

public static void main(String[] args) {
    elementExistOrNot();
}
}