1、基本排序:按照数组的从小到大进行排序。
import java.util.Arrays;
public class ex {
public static void main(String[] args) {
int[] arr = {0,4,2,3,8};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
2、定制排序--------因为sort是重载的,也可以传入一个接口,来进行定制排序。
按照价格排序:
package enumeration;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
public class e {
public static void main(String[] args) {
Book[] book = new Book[4];
book[0] = new Book("红楼梦",100);
book[1] = new Book("金瓶梅新",90);
book[2] = new Book("青年文摘20年",5);
book[3] = new Book("java从入门到放弃",300);
Arrays.sort(book, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
double priceval = book1.getPrice() - book2.getPrice();
if (priceval > 0){
return 1;
}else if(priceval < 0){
return -1;
}else{
return 0;
}
}
});
System.out.println("排序后的数组" + Arrays.toString(book) );
}
}
class Book {
private String name;
private double price;
public Book(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", price=" + price +
'}';
}
}
按照名字的长度:只需要改变放回的值就行,注意返回的值是int类型。(排序的那个类要重写toString方法,这样再次调用Arrays.toStriing(arr)方法)
package enumeration;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
public class e {
public static void main(String[] args) {
Book[] book = new Book[4];
book[0] = new Book("红楼梦",100);
book[1] = new Book("金瓶梅新",90);
book[2] = new Book("青年文摘20年",5);
book[3] = new Book("java从入门到放弃",300);
Arrays.sort(book, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
return book2.getName().length() -book1.getName().length();
}
});
System.out.println("排序后的数组" + Arrays.toString(book) );
}
}
class Book {
private String name;
private double price;
public Book(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", price=" + price +
'}';
}
}