Java中关于数组查找的操作

Java中如果数组是无序混乱的,查找某个数字,需要顺序查找。代码如下:
public static void main(String[] args) {
int [] arr = {1, 5, 9, 21, 25};
int index = getIndex(arr, 10);
System.out.println("index is: " + index);
}//主函数
public static int getIndex(int[] arr, int key) {
for (int x = 0; x < arr.length; x++) {
if(arr[x] == key) {
return x;
}
}
return -1;
}//查找函数
如果数组是有序的,则可以使用二分查找代码如下:
public class HalfSearch {
public static void main(String[] args) {
int [] arr = {12, 25, 36, 47, 58, 69, 123, 150};
int index = Search(arr, 159);
System.out.println("The index is: " + index);}//主函数
public static int Search(int[] arr, int key) {
int min, max, mid;
min = 0;
max = arr.length - 1;
mid = (max + min) / 2;
while (arr[mid] != key) {
if (arr[mid] > key)
max = mid - 1;
else if (arr[mid] < key)
min = mid + 1;
if(max < min)
return -1;
mid = (max + min) / 2;
}return mid;
}// 查找函数
在Java中,二分查找,可以直接使用Arrays.bringSearch( 参数 参数),函数!简单快捷!
如果查找的数值在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素的索引。

你可能感兴趣的:(个人)