新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
返回:
创新互联建站2013年开创至今,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元建平做网站,已为上家服务,为建平各地企业和个人服务,联系电话:028-86922220
如果它包含在数组的指定范围内,则返回搜索键的索引;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入数组的那一点:如果范围中的所有元素都小于指定的键,则为 toIndex。
以上摘自jdk-api1.6
插入点被定义为toIndex,所以插入点是5,返回值是(-(插入点) - 1)。
也就是-6
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String[] strs = new String[]{"a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c"}; //定义数组
String in = sca.next();//键盘输入
String index = "-1,"; //定义下标记录 默认-1不存在 ,为间隔
for (int i = 0; i strs.length; i++) { //循环查询下标
if (in.equals(strs[i])) {
if (index.equals("-1,")) { //存在则制空 将下标放入
index ="";
}
index += i + ","; //循环放入下标
//break; //如果需求是做单个的话 可以释放这段代码 下面去数组第一个值就可以了
}
}
index = index.substring(0, index.length() - 1); //取出数组最后的,
//如果需要下表作为数字引用 可以这样
// String[] indexs = index.split(",");
// int[] intIndex = new int[indexs.length];
// for(int i = 0; i indexs.length; i++){
// intIndex[i] = new Integer(indexs[i]);
// }
System.out.println(index);
}
这段代码 多个单个都可以 已经测试过了 只要释放下代码就行
int
a[]={1,2,3,4};
for(int
i
=
0;ia.length;i++){//遍历数组查找
if(a[i]
==
2){//找到了就输出
System.out.println("数字2是数组a中第"+(i+1)+“个元素”);
continue;//找到后就停止循环
}
}
在Java中,检测一个数组是否包含某一个数据,通常有四种方法:
(1)for循环
(2)转换为List,调用Arrays.asList(arr).contains方法
(3)使用Set
(4)使用Arrays.binarySearch()方法
下面为上述四种方法的具体代码实现:
1、使用for循环
public static boolean useLoop(String[] arr, String targetValue) {
for (String s : arr) {
if (s.equals(targetValue))
return true;
}
return false;
}
2、转换为List,调用Arrays.asList(arr).contains方法
public static boolean useList(String[] arr, String targetValue) {
return Arrays.asList(arr).contains(targetValue);
}
3、使用Set
public static boolean useSet(String[] arr, String targetValue) {
SetString set = new HashSetString(Arrays.asList(arr));
return set.contains(targetValue);
}
4、使用Arrays.binarySearch()方法
特别说明:binarySearch()二分查找 仅适用于 有序数组,如果不是有序数组,则报异常
public static boolean useArraysBinarySearch(String[] arr, String targetValue) {
int a = Arrays.binarySearch(arr, targetValue);
if (a 0) {
return true;
} else {
return false;
} }
扩展资料:
Java种List列表的contains方法:
该方法是通过遍历集合中的每一个元素并用equals方法比较是否存在指定的元素。
public boolean contains(Object o) {
IteratorE it = iterator();
if (o==null) {
while (it.hasNext())
if (it.next()==null)
return true;
} else {
while (it.hasNext())
if (o.equals(it.next()))
return true;
}
return false;
}
参考资料来源:Java官网-API-Arrays
参考资料来源:Java官网-API-Interface List