如何判断某个数组中是否存在某个元素

2024-11-27 21:53:56
推荐回答(2个)
回答(1):

1、使用List:

public static boolean useList(String[] arr, String targetValue) {
    return Arrays.asList(arr).contains(targetValue);
}

2、使用Set:  

public static boolean useSet(String[] arr, String targetValue) {
    Set
    set = new HashSet(Arrays.asList(arr));
    return set.contains(targetValue);
}

3、使用循环判断:

public static boolean useLoop(String[] arr, String targetValue) {
    for(String s: arr){
        if(s.equals(targetValue))
            return true;
    }
    return false;
}

4、使用Arrays.binarySearch():

public static boolean useArraysBinarySearch(String[] arr, String targetValue) {
    inta =  Arrays.binarySearch(arr, targetValue);
    if(a> 0)
        return true;
    else
        return false;
}

所谓数组,是无序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。 这些无序排列的同类数据元素的集合称为数组。

举例:

  • int a[10]; 说明整型数组a,有10个元素。

  • float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。

  • char ch[20]; 说明字符数组ch,有20个元素。

数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

回答(2):

可以使用数组的indexOf()方法,如果返回值为-1则说明不存在,如果返回值为大于-1的整数,则说明存在。例如:
var arr = [1,2,3];
arr.indexOf(1); // 返回0
arr.indexOf(5); // 返回-1
附:返回值为数组中的最靠前元素在数组的位置