数据结构之线性查找(一)

实现在一个简单的数组查找

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()是用于在方法的,不适用于基本类型 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值