package com.arrays;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int [] arr={ 11,22,44,88,66,33,55,77};
//返回地址
System.out.println(arr); //[I@1b6d3586
//返回数组的内容
System.out.println(Arrays.toString(arr)); //[11, 22, 44, 88, 66, 33, 55, 77]
//排序。升序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //[11, 22, 33, 44, 55, 66, 77, 88]
//二分搜索技术,前提要排好序
int i = Arrays.binarySearch(arr, 00);
System.out.println(i); //-1
int i1 = Arrays.binarySearch(arr, 50);
System.out.println(i1); //-5 表示:-(应该插入的位置的索引+1)
}
}
package com.arrays;
import java.util.Arrays;
import java.util.Comparator;
//comparator比较器对象
public class Test1 {
public static void main(String[] args) {
int [] arr={ 12,56,32,23,78,19};
//Array的sort方法默认升序排序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //[12, 19, 23, 32, 56, 78]
Integer [] arr1={ 12,56,32,23,78,19};
Arrays.sort(arr1, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
//指定规则
/*if (o1>o2){ return 1; } else if (o1<o2){ return -1; } return 0;*/
//return o1-o2; //默认升序 // //[12, 19, 23, 32, 56, 78]
return o2-o1; //降序 //[78, 56, 32, 23, 19, 12]
}
});
System.out.println(Arrays.toString(arr1));
}
}
package com.arrays;
public class Student {
String name;
int age;
double height;
public Student() {
}
public Student(String name, int age, double height) {
this.name = name;
this.age = age;
this.height = height;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", height=" + height +
'}';
}
}
package com.arrays;
import java.util.Arrays;
import java.util.Comparator;
public class StudentTest {
public static void main(String[] args) {
Student[] students=new Student[4];
students[0]=new Student("小马哥",23,180.5);
students[1]=new Student("小飞侠",32,183.5);
students[2]=new Student("马奎斯",40,170.5);
students[3]=new Student("罗西",20,190.5);
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//制定排序规则
//按照年龄升序
//return o1.getAge()-o2.getAge(); //[Student{name='罗西', age=20, height=190.5}, Student{name='小马哥', age=23, height=180.5}, Student{name='小飞侠', age=32, height=183.5}, Student{name='马奎斯', age=40, height=170.5}]
//按照年龄降序
//return o2.getAge()-o1.getAge(); //[Student{name='马奎斯', age=40, height=170.5}, Student{name='小飞侠', age=32, height=183.5}, Student{name='小马哥', age=23, height=180.5}, Student{name='罗西', age=20, height=190.5}]
//按照身高升序排序
//return Double.compare(o1.getHeight(),o2.getHeight()); //[Student{name='马奎斯', age=40, height=170.5}, Student{name='小马哥', age=23, height=180.5}, Student{name='小飞侠', age=32, height=183.5}, Student{name='罗西', age=20, height=190.5}]
//按照身高降序
return Double.compare(o2.getHeight(),o1.getHeight()); //[Student{name='罗西', age=20, height=190.5}, Student{name='小飞侠', age=32, height=183.5}, Student{name='小马哥', age=23, height=180.5}, Student{name='马奎斯', age=40, height=170.5}]
}
});
System.out.print(Arrays.toString(students));
}
}
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_43514330/article/details/125144484