java:数组中元素的查询

关键词

binarySearch(这里放要查找的数组,这里放要搜索的对象);
binarySearch(a,b,c,d);
a:要被查找元素的数组
b:数组元素搜索的起始位置(包含)
c:数组元素搜索的结束位置(不包含)
d:要搜索的元素(字符串、数字等)
index(索引) binary(二进制) search(搜索)

相关说明

要用到import java.util.Arrays;
在搜索字符串或数字前最好对数组进行字典顺序排列一下,因为
比如数组为3,4,8,1中,搜1时输出负数,因为1前面有比它大的数,输出
会出错。
查找某元素是否在数组中,或者查找元素是否在数组指定范围中
若在数组中或数组的指定范围内有所要查找的值,则输出正数,正数
为所在的位置。反正,若在数组或数组指定范围内没有所要找的元素,则
输出负值。

源码

import java.util.Arrays;
class Demo{
	public static void main(String[] args){
		System.out.println("要被搜索的数组为:3,1,8,53,92,23,4");
		int arr0[]={3,1,8,53,92,23,4};//定义int类型数值arr0
		int index0=Arrays.binarySearch(arr0,8);	//在数组中搜索8
		System.out.print("8的位置为:"+index0+"\n\n");//输出index(索引)
		
		Arrays.sort(arr0);//对数组arr0进行排序,从小到大
		System.out.print("对数组进行排序后为:");
		for(int n=0;n<arr0.length;n++){
			System.out.print("["+arr0[n]+"]");
		}
		System.out.println();//换行符
		int index1=Arrays.binarySearch(arr0,8);//重新排列后8的位置
		System.out.println("重新排序后8的位置:"+index1+"\n");

		System.out.println("原数组为ad,cd,adc,tp,iq,lol,dnf");
		String arr1[]={"ad","cd","adc","tp","iq","lol","dnf"};//创建字符串数组
		Arrays.sort(arr1);//排序数组
		for(int m=0;m<arr1.length;m++){//依次输出数组元素
			System.out.print("["+arr1[m]+"]");
		}
		System.out.println();//换行符
		int index2=Arrays.binarySearch(arr1,1,5,"iq");//搜索范围1~5,搜索对象“tm”
		System.out.println("搜索范围1~5,iq的位置为:"+index2);
	}
}

运行结果

在这里插入图片描述

发布了66 篇原创文章 · 获赞 11 · 访问量 1677

猜你喜欢

转载自blog.csdn.net/qq_44925904/article/details/103337707