int 数组值如下所示:
int[] arr = {1, 2, 3, 4};
如何确定该数组是否包含特定值?
Talk is cheap, Show me the code. -- by: Linus Torvalds
方式一、
使用IntStream,代码如下:
int[] arr = {1, 2, 3, 4};
boolean contains = IntStream.of(arr).anyMatch(x -> x == 1);
System.out.println(contains);
double 类型使用 DoubleStream,long 类型使用 LongStream。
方式二、
使用Arrays,代码如下:
int[] arr = {1, 2, 3, 4};
boolean contains = Arrays.stream(arr).anyMatch(x -> x == 2);
System.out.println(contains);
// 字符串数组
String[] strings = new String[]{"AB", "BC", "CD", "AE"};
boolean contains = Arrays.stream(strings).anyMatch("AE"::equals);
System.out.println(contains);
方式三、
使用Arrays,实现方式和方式二略有不同,代码如下:
// 使用Arrays.asList方法时,不能使用int类型,要使用int的包装类Integer!
Integer[] arr = {1, 2, 3, 4};
// contains方法比较时,是以对象形式接收的值,比较是使用的equals方法
boolean contains = Arrays.asList(arr).contains(4);
System.out.println(contains);
推荐使用方式一或者方式二!