JAVA 按照第一二三不同条件排序

package com.zdf.newapp.sort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Trade trade1 = new Trade("8.9", "500", "2012-08-31");
Trade trade2 = new Trade("8.8", "600", "2012-08-27");
Trade trade3 = new Trade("9.7", "100", "2012-08-20");
Trade trade4 = new Trade("9.01", "300", "2012-08-20");
Trade trade5 = new Trade("8.8", "400", "2012-08-19");
Trade trade6 = new Trade("8.1", "700", "2012-08-11");
Trade trade7 = new Trade("8.8", "500", "2012-08-27");

List<Trade> listTrade = new ArrayList<Trade>();
listTrade.add(trade1);
listTrade.add(trade2);
listTrade.add(trade3);
listTrade.add(trade4);
listTrade.add(trade5);
listTrade.add(trade6);
listTrade.add(trade7);
ComparatorUser comparator=new ComparatorUser();
Collections.sort(listTrade, comparator);

for (int i=0;i<listTrade.size();i++){
Trade user_temp=(Trade)listTrade.get(i);
System.out.println(user_temp.getQuote_price()+","+user_temp.getQuote_date()+","+user_temp.getQuote_num());
}

}

public static class ComparatorUser implements Comparator{

public int compare(Object arg0, Object arg1) {
Trade Trade0=(Trade)arg0;
Trade Trade1=(Trade)arg1;

//首先比较价格,如果价格相同,则比较时间,前两者都一样则比较数量

int flag=Trade1.getQuote_price().compareTo(Trade0.getQuote_price());
if(flag==0){
flag = Trade0.getQuote_date().compareTo(Trade1.getQuote_date());
return flag;
}
if(flag==0){
return Trade0.getQuote_num().compareTo(Trade1.getQuote_num());
}
else{
return flag;
}
}

}

public static class Trade {
private String quote_price;//报价价格
private String quote_num;//报价数量
private String quote_date;//报价时间
public String getQuote_price() {
return quote_price;
}
public void setQuote_price(String quotePrice) {
quote_price = quotePrice;
}
public String getQuote_num() {
return quote_num;
}
public void setQuote_num(String quoteNum) {
quote_num = quoteNum;
}
public String getQuote_date() {
return quote_date;
}
public void setQuote_date(String quoteDate) {
quote_date = quoteDate;
}
public Trade(String quote_price ,String quote_num,String quote_date){
this.quote_date=quote_date;
this.quote_price=quote_price;
this.quote_num=quote_num;
}
}
}
输入: 输出 图片 如附件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值