import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Flight{ //实体类
private int price;
private String flyName;
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getFlyName() {
return flyName;
}
public void setFlyName(String flyName) {
this.flyName = flyName;
}
}
public class rjmDataHandle {
public static void main(String args[]) { //存对象排序
List<Flight> list=new ArrayList<Flight>();
f1.setPrice(500);
f1.setFlyName("A6");
Flight f2=new Flight();
f2.setPrice(700);
f2.setFlyName("B5");
Flight f3=new Flight();
f3.setPrice(300);
f3.setFlyName("Ca");
Flight f4=new Flight();
f4.setPrice(600);
f4.setFlyName("D4");
Flight f5=new Flight();
f5.setPrice(300);
f5.setFlyName("E3");
list.add(f2);
list.add(f3);
list.add(f4);
list.add(f5);
Collections.sort(list, new Comparator<Flight>(){
/*
* Integer compare(Flight o1, Flight o2) 返回一个基本类型的整型,
* 返回负数表示:o1 价格小于o2价格,
* 返回0 表示:o1价格和o2价格相等,
* 返回正数表示:o1价格大于o2价格。
*/
@Override
public int compare(Flight o1, Flight o2) { //重写 compare 并设置返回值是正负值或者是0
//按照价格的进行升序排列
if(o1.getPrice() > o2.getPrice()){
return 1;
}
if(o1.getPrice() == o2.getPrice()){
return 0;
}
return -1;
}
});
System.out.println("名称:"+list.get(i).getFlyName()+"价格:"+list.get(i).getPrice());
}
}
}
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Flight{ //实体类
private int price;
private String flyName;
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getFlyName() {
return flyName;
}
public void setFlyName(String flyName) {
this.flyName = flyName;
}
}
public class rjmDataHandle {
public static void main(String args[]) { //存对象排序
List<Flight> list=new ArrayList<Flight>();
//对象赋值
Flight f1=new Flight();f1.setPrice(500);
f1.setFlyName("A6");
Flight f2=new Flight();
f2.setPrice(700);
f2.setFlyName("B5");
Flight f3=new Flight();
f3.setPrice(300);
f3.setFlyName("Ca");
Flight f4=new Flight();
f4.setPrice(600);
f4.setFlyName("D4");
Flight f5=new Flight();
f5.setPrice(300);
f5.setFlyName("E3");
//集合赋值
list.add(f1);list.add(f2);
list.add(f3);
list.add(f4);
list.add(f5);
Collections.sort(list, new Comparator<Flight>(){
/*
* Integer compare(Flight o1, Flight o2) 返回一个基本类型的整型,
* 返回负数表示:o1 价格小于o2价格,
* 返回0 表示:o1价格和o2价格相等,
* 返回正数表示:o1价格大于o2价格。
*/
@Override
public int compare(Flight o1, Flight o2) { //重写 compare 并设置返回值是正负值或者是0
//按照价格的进行升序排列
if(o1.getPrice() > o2.getPrice()){
return 1;
}
if(o1.getPrice() == o2.getPrice()){
return 0;
}
return -1;
}
});
//循环输出
for(int i=0;i<list.size();i++){System.out.println("名称:"+list.get(i).getFlyName()+"价格:"+list.get(i).getPrice());
}
}
}
本文介绍了一个使用Java实现的集合排序示例,通过定义Flight类并利用Collections.sort方法结合Comparator接口,实现了根据Flight对象的价格属性进行升序排序的功能。
1098

被折叠的 条评论
为什么被折叠?



