实现在一个简单的数组查找
import java.util.Scanner;
public class LineraSerach {
//1.输入数组,和目标元素
//2.输出:目标元素所在的索引;若不存在,返回-1
// private LineraSerach(){}; 私有化,外部无法直接创建对象
public static void main(String[] args) {
//1.输入数组,和目标元素
//2.输出:目标元素所在的索引;若不存在,返回-1
int[] arr = {24,18,12,9,16,66,32,4};
int num;
System.out.println("pleas into you check number");
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
int i = search1(arr, num);
System.out.println(i);
}
private static int search1(int[] arr, int num) {
for (int i = 0; i < arr.length ; i++) {
if (arr[i] == num){
return i;
}
}
return -1;
}
改进成泛型
泛型的使用
1.不可以是基本数据类型,只能是类的对象
基本数据类型有:byte,short,int,long,float,double,boolean,char
2. 对应的包装类
Byte,Short,Integer,Long,Float,Double,Boolean,Character
public class NewLinerSearch {
//泛型
public static <E> Integer NewLinerSearch(E[] arr, E num ){
for (int i = 0; i < arr.length; i++) {
if(arr[i].equals(num)){
return i;
}
}
return -1;
}
public static void main(String[] args) {
Integer arr[] = {1, 2, 3, 4, 5, 6, 11, 66};
int num = 0;
int i = NewLinerSearch(arr,num);
System.out.println(i);
}
}
这里注意 == 是用在基本类型数据之间的比较,而equals()是用于在方法的,不适用于基本类型