Java判断数组中是否包含某个元素

package net.algchallenge;

import java.util.Arrays;

/** * 判断数组中是否包含某个元素的方法 * //注:Java有两种数据类型,基本数据类型和引用数据类型,判断基本数据类型是否相等用==,判断引用数据类型是否相等用equals */
public class ArrayQuery {
    public static void main(String[] args) {
        //第一种利用循环遍历进行操做,若是数组中存在元素和要查找的元素相等则是数组中包含这个元素:
        //支持多种类型的查找,能够本身更改类型
        int[] arr1 = {1, 7, 5, 9, 7};
        //(1):
        boolean ifContain = false;
        int searchedNum = 7;
        for (int i = 0; i < arr1.length; i++){
            if(arr1[i] == searchedNum){
                ifContain = true;
                break;
            }
        }
        System.out.println(ifContain);
        /*//(2): int searchedNum2 = 7; boolean ifContain = false; for(int i : arr1){ if (i == searchedNum2){ ifContain = true; break; } }*/


        //第二种:二分查找,应用于数字类型
        //先sort排序;参数在数组中则返回参数在数组的索引,不然返回负数
        int[] arr2 = {1, 7, 5, 9, 7};
        Arrays.sort(arr2);
        //采用Arrays类的sort方法排序数组,默认是升序排列,若是要实现降序排列,能够利用Collections.reverseOrder()做为sort方法的第二参数,不过须要将数组类型改成其对应的封装类
        int index = Arrays.binarySearch(arr2, 3);
        System.out.println(index);


        //第三种:
        //利用String的contains方法,方法参数要求是字符序列
        String[] arr3 = {"H", "e", "l", "l", "o"};
        boolean ifContain2 = Arrays.toString(arr3).contains("e");
        System.out.println(ifContain2);


        //第四种:
        //转换为list,而后利用List的contains方法,方法参数类型为Object类型
        Object[] arr4 = {1, 0.0, 'a', false, "Hello"};
        boolean ifContain3 = Arrays.asList(arr4).contains(1);
        System.out.println(ifContain3);
    }
}

运行结果:
在这里插入图片描述java