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类型
}
}