Java -- 对象如何根据某个字段排序

package com.redhorse.bean;

import com.redhorse.util.DateUtil;

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

public class FundTradeDetailBean implements java.io.Serializable, Comparable<FundTradeDetailBean> {

  private static final long serialVersionUID = 1L;

  private int id;

  private int fundId;

  private String login;

  private long order;

  private String symbol;

  private double openPrice;

  private double closePrice;

  private long profit;

  private long volume;

  private Date openTime;

  private Date closeTime;

  private int closeDay;

  private String comment;

  private long commission;

  private long agentCommission;

  private int cmd;

  private double sl;

  private double tp;

  private long swap;

  private String fundName;

  public String getFundName() {
    return fundName;
  }

  public void setFundName(String fundName) {
    this.fundName = fundName;
  }

  public FundTradeDetailBean() {
    super();
  }

  public FundTradeDetailBean(int id, int fundId, String login, long order, String symbol, double openPrice, double closePrice, long profit, long volume, Date openTime, Date closeTime, int closeDay, String comment, long commission, long agentCommission, int cmd, double sl, double tp, long swap) {
    this.id = id;
    this.fundId = fundId;
    this.login = login;
    this.order = order;
    this.symbol = symbol;
    this.openPrice = openPrice;
    this.closePrice = closePrice;
    this.profit = profit;
    this.volume = volume;
    this.openTime = openTime;
    this.closeTime = closeTime;
    this.closeDay = closeDay;
    this.comment = comment;
    this.commission = commission;
    this.agentCommission = agentCommission;
    this.cmd = cmd;
    this.sl = sl;
    this.tp = tp;
    this.swap = swap;
  }


  public void setId(int id) {
    this.id = id;
  }

  public int getId() {
    return id;
  }

  public void setFundId(int fundId) {
    this.fundId = fundId;
  }

  public int getFundId() {
    return fundId;
  }

  public void setLogin(String login) {
    this.login = login;
  }

  public String getLogin() {
    return login;
  }

  public void setOrder(long order) {
    this.order = order;
  }

  public long getOrder() {
    return order;
  }

  public void setSymbol(String symbol) {
    this.symbol = symbol;
  }

  public String getSymbol() {
    return symbol;
  }

  public void setOpenPrice(double openPrice) {
    this.openPrice = openPrice;
  }

  public double getOpenPrice() {
    return openPrice;
  }

  public void setClosePrice(double closePrice) {
    this.closePrice = closePrice;
  }

  public double getClosePrice() {
    return closePrice;
  }

  public void setProfit(long profit) {
    this.profit = profit;
  }

  public long getProfit() {
    return profit;
  }

  public void setVolume(long volume) {
    this.volume = volume;
  }

  public long getVolume() {
    return volume;
  }

  public void setOpenTime(Date openTime) {
    this.openTime = openTime;
  }

  public Date getOpenTime() {
    return openTime;
  }

  public void setCloseTime(Date closeTime) {
    this.closeTime = closeTime;
  }

  public Date getCloseTime() {
    return closeTime;
  }

  public void setCloseDay(int closeDay) {
    this.closeDay = closeDay;
  }

  public int getCloseDay() {
    return closeDay;
  }

  public void setComment(String comment) {
    this.comment = comment;
  }

  public String getComment() {
    return comment;
  }

  public void setCommission(long commission) {
    this.commission = commission;
  }

  public long getCommission() {
    return commission;
  }

  public void setAgentCommission(long agentCommission) {
    this.agentCommission = agentCommission;
  }

  public long getAgentCommission() {
    return agentCommission;
  }

  public void setCmd(int cmd) {
    this.cmd = cmd;
  }

  public int getCmd() {
    return cmd;
  }

  public void setSl(double sl) {
    this.sl = sl;
  }

  public double getSl() {
    return sl;
  }

  public void setTp(double tp) {
    this.tp = tp;
  }

  public double getTp() {
    return tp;
  }

  public void setSwap(long swap) {
    this.swap = swap;
  }

  public long getSwap() {
    return swap;
  }

  @Override
  public int compareTo(FundTradeDetailBean o) {

    if (o.getOpenTime().compareTo(this.openTime) == 0) {
      return 0;
    } else if (o.getOpenTime().compareTo(this.openTime) > 0) {
      return 1;
    } else {
      return -1;
    }
  }


  public static void main(String[] args) {
    FundTradeDetailBean a = new FundTradeDetailBean();
    FundTradeDetailBean b = new FundTradeDetailBean();
    FundTradeDetailBean c = new FundTradeDetailBean();
    FundTradeDetailBean d = new FundTradeDetailBean();

    a.setOpenTime(new Date());
    b.setOpenTime(DateUtil.String2Date("2018-01-01"));
    c.setOpenTime(DateUtil.String2Date("2018-01-02"));
    d.setOpenTime(DateUtil.String2Date("2017-01-02"));

    List<FundTradeDetailBean> list = new ArrayList<FundTradeDetailBean>();
    list.add(a);
    list.add(b);
    list.add(c);
    list.add(d);

    Collections.sort(list);

    for (FundTradeDetailBean f : list) {
      System.out.println(DateUtil.Date2String(f.getOpenTime()));
    }

  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值