Product.java文件
package test6;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Compare {
public static void main(String[] args) {
Product p1 = new Product("1","a",10,3);
Product p2 = new Product("2","b",20,9);
Product p3 = new Product("3","c",15,4);
Product p4 = new Product("4","d",30,1);
ArrayList<Product> pList = new ArrayList<>();
pList.add(p1);
pList.add(p2);
pList.add(p3);
pList.add(p4);
//使用匿名内部类进行collect排序
Collections.sort(pList, new Comparator<Product>(){
@Override
public int compare(Product p1,Product p2) {
if(p1.getPrice()>p2.getPrice()){
return 1;
}
// TODO Auto-generated method stub
return -1;
}});
System.out.println(pList);
// 方式2:不传专门的比较器给工具,前提是,list中的数据类型本身可比较
// (数据类型本身要实现一个接口Comparable),然后就要实现其中的方法compareTo()
Collections.sort(pList);
System.out.println(pList);
}
}
Compare.java文件
package test6;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Compare {
public static void main(String[] args) {
Product p1 = new Product("1","a",10,3);
Product p2 = new Product("2","b",20,9);
Product p3 = new Product("3","c",15,4);
Product p4 = new Product("4","d",30,1);
ArrayList<Product> pList = new ArrayList<>();
pList.add(p1);
pList.add(p2);
pList.add(p3);
pList.add(p4);
//使用匿名内部类进行collect排序
Collections.sort(pList, new Comparator<Product>(){
@Override
public int compare(Product p1,Product p2) {
if(p1.getPrice()>p2.getPrice()){
return 1;
}
// TODO Auto-generated method stub
return -1;
}});
System.out.println(pList);
// 方式2:不传专门的比较器给工具,前提是,list中的数据类型本身可比较
// (数据类型本身要实现一个接口Comparable),然后就要实现其中的方法compareTo()
Collections.sort(pList);
System.out.println(pList);
}
}