Java学习Day17 -- Arrays类、泛型

Arrays类

Arrays.equals();比较数组中的内容是否一致
public class ArraysDemo {
    
    
    public static void main(String[] args) {
    
    
        int [] a= {
    
    1,2,3,4,5};
        int [] b = {
    
    1,2,3,4,5};
        //比较数组中的内容是否一致
        System.out.println(Arrays.equals(a,b));

        int [] a1= {
    
    1,2,3,4,5};
        int [] b1 = {
    
    1,2,3,4};
        System.out.println(Arrays.equals(a1,b1));
    }
}
Arrays.sort();//数组排序
    public static void main(String[] args) {
    
    
        /*
        对基本类型数组排序
         */
        int [] a =new int[]{
    
    1,5,3,4,7,8};
        Arrays.sort(a,0,3);
        System.out.println(Arrays.toString(a));
    }
引用类型排序
public static void main(String[] args) {
    
    
        /*
        引用类型排序
         */
        Student stu =new Student("B",70,80);
        Student stu1 =new Student("A",80,90);
        Student stu2 =new Student("C",60,70);
        Student [] atu = new Student[3];
        atu [0]= stu;
        atu [1]= stu1;
        atu [2]= stu2;
        Arrays.sort(atu);
        System.out.println(Arrays.toString(atu));
    }
public class Student implements Comparable<Student>{
    
    
    private String name;
    private int computerResults;
    private int writtenTestResults;

    public Student(String name, int computerResults, int writtenTestResults) {
    
    
        this.name = name;
        this.computerResults = computerResults;
        this.writtenTestResults = writtenTestResults;
    }

    @Override
    public String toString() {
    
    
        return "Student{" +
                "姓名='" + name + '\'' +
                ", 上机成绩=" + computerResults +
                ", 笔试成绩=" + writtenTestResults +
                '}';
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getComputerResults() {
    
    
        return computerResults;
    }

    public void setComputerResults(int computerResults) {
    
    
        this.computerResults = computerResults;
    }

    public int getWrittenTestResults() {
    
    
        return writtenTestResults;
    }

    public void setWrittenTestResults(int writtenTestResults) {
    
    
        this.writtenTestResults = writtenTestResults;
    }

    /*
    用于排序比较的方法,此方法在sort()方法中被调用
    */
    @Override
    public int compareTo(Student o) {
    
    
        /*return o.computerResults-this.computerResults;//上机成绩从大到小排序*/
        /*return o.computerResults-this.computerResults;//上机成绩从小到大排序*/
        return this.name.compareTo(o.name);
    }
}
Arrays.copyOf()//指定数组长度
public class ArraysCopyOfDemo {
    
        
    public static void main(String[] args) {
    
            
        int [] a = {
    
    1,2,3,4,5};        			          System.out.println(Arrays.toString(a));        
        /*        
        数组复制,当当前数组长度不够用时,将原来的内容复制到新数组中,并指定数组长度         
        */        
        int [] b = Arrays.copyOf(a,15);            System.out.println(Arrays.toString(b));    }}
Arrays.binarySearch();//二分查找
public static void main(String[] args) {
    
    

        int [] a = {
    
    5,5,6,8,1};
        int index = Arrays.binarySearch(a,1);
        System.out.println(Arrays.toString(a));
        System.out.println(index);//在数组a中找值为1的数值下标,返回值为-1,表明没找到
        /*
        二分查找法,必须数组中数值按顺序排列
         */
        Arrays.sort(a);//排序数组
        System.out.println(Arrays.toString(a));
        int index1 = Arrays.binarySearch(a,5);//对有序数组进行二分查找
        System.out.println(index1);
    }

泛型

泛型:参数化类型 类型参数化 类型不确定,可以将类型作为参数传入,只能传入引用类型,如果不传,默认是object

public class TypeDemo <T,M> {
    
    

        T x;
        M y;

        public T main(){
    
    
            return null;
        }

    public static void main(String[] args) {
    
    
        TypeDemo<Integer,String>  c= new TypeDemo<Integer, String>();
        //c.x;//Integer类型
        //c.y;String类型
    }

}

猜你喜欢

转载自blog.csdn.net/XiaoFanMi/article/details/111242500