0

我正在尝试编写一种方法(“findEquipements”)来按不同的标准查找设备,但是我遇到了一些问题。

  1. 如果我按照每个标准附加结果,我的结果中将多次使用相同的设备。

  2. 我想对结果进行排序,以便结果列表中的第一个设备将是具有最匹配标准的设备。

代码:

public interface EquipementService {
    List<Equipement> findEquipements (SearchEquipement equipementSerach);
}

那是我的界面,

public class SearchEquipement{

    private String marque ;
    private String type ;
    private Date dateAchat ;
    private String user ;

    public String getMarque(){
        return this.marque ;
    }

    public void setMarque(String marque){
        this.marque = marque ;
    }

    public String getType(){
        return this.type ;
    }

    public void setType(String type){
        this.type = type ;
    }

    public String getUser(){
        return this.user ;
    }

    public void setUser(String user){
        this.user = user ;
    }

    public Date getDateAchat(){
        return this.dateAchat ;
    }

    public void setDateAchat(Date dateAchat){
        this.dateAchat = dateAchat ;
    }
}
4

1 回答 1

1
  1. 覆盖 SearchEquipement 类中的 hashcode 和 equals 方法。出于调试目的,建议重写 toString。
  2. 实现一个可比较的接口并重写 compareTo 方法以相应地对结果进行排序。

  3. 使用 Collections.sort() 正确排序“列表列表”的列表项

支持代码 -

 public class EquipmentComparable implements Comparator<SearchEquipement>{
  @Override
  public int compare(Equipement eq1, Equipement eq2) {
        //todo 
  }
 }


   List<Equipement> equipmentList = EquipementService.findEquipements  (equipementSerach);
   Collections.sort(equipmentList,new EquipmentComparable());
于 2012-05-04T16:15:47.013 回答