在Java中,判断数组中是否包含某个素,你可以使用以下几种方法:
转换为List并使用`contains`方法
java
String[] strArr = new String[] {"a", "b", "c"};
String str = "c";
List
boolean result = list.contains(str);
System.out.println(result); // 输出 true
使用`for`循环
java
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"
break;
}
}
使用Apache Commons的`ArrayUtils`
java
import org.apache.commons.lang3.ArrayUtils;
String[] strArr = new String[] {"a", "b", "c"};
String str = "c";
boolean result = ArrayUtils.contains(strArr, str);
System.out.println(result); // 输出 true
使用`indexOf`方法(适用于原始类型数组和对象数组):
java
int[] intArr = {1, 2, 3, 2};
int target = 2;
int index = Arrays.asList(intArr).indexOf(target);
System.out.println(index); // 输出 1
使用ES6引入的`includes`方法(仅适用于对象数组):
java
int[] intArr = {1, 2, 3, 2};
int target = 2;
boolean result = Arrays.stream(intArr).anyMatch(e -> e == target);
System.out.println(result); // 输出 true
请注意,`indexOf`方法在Java中对于原始类型数组(如int[])和对象数组(如Object[])都有效,而`includes`方法仅适用于对象数组。
以上方法各有优缺点,你可以根据具体需求选择合适的方法。需要注意的是,`Arrays.asList`返回的List是固定大小的,不能对数组进行扩容操作
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/64019.html