多列表值比较Java

时间:2017-01-09 21:19:35

标签: java list sorting

我有两个清单。 一个包含历史记录和其他当前记录。 我想基于sn(第一个字段)和lpn(第二个字段)进行排序。 在下面的列表中,前两个记录是当前记录,下一个记录是历史记录。 我需要以当前记录首先出现的方式排序前两个字段,然后记录历史记录。

  • 34 0001010 INDIV 06/17/1999 AA 11/19/2015 03:56:52 PM
  • 34 0011160 INDIV 06/17/1999 AA 11/19/2015 03:56:52 PM
  • 34 0001010 12/07/2016 VV 12/07/2016 02:06:14 PM

请建议。 TIA。

代码段:

public class ResultsDTO extends BaseDTO implements Comparable <ResultsDTO> {

    private String sNumber;
    private String lpNumber; 
    private String startDate;  
    private String endDate; 
    private String reason;
}

预期结果应该是:

  • 34 0001010 INDIV 06/17/1999 AA 11/19/2015 03:56:52 PM
  • 34 0001010 12/07/2016 VV 12/07/2016 02:06:14 PM
  • 34 0011160 INDIV 06/17/1999 AA 11/19/2015 03:56:52 PM

1 个答案:

答案 0 :(得分:0)

您错误地表达了您的问题。以下是您实际需要做的事情:

  1. 对当前条目列表进行排序。
  2. 对历史记录条目列表进行排序。
  3. 合并这些列表,使当前列表中与历史记录列表中的条目匹配的条目放在历史列表中的条目前面。
  4. 这不仅是正确的问题陈述,也是您应该用来解决问题的技巧。