Java中搜索方法的概念

时间:2012-05-03 21:23:27

标签: java search methods

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

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

  2. 我想订购结果,以便结果列表中的第一个设备是匹配标准最匹配的设备。

  3. 代码:

    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 ;
        }
    }
    

1 个答案:

答案 0 :(得分:0)

  1. 覆盖SearchEquipement类中的hashcode和equals方法。为了调试,建议覆盖toString。
  2. 实现类似的界面并覆盖compareTo方法以相应地对结果进行排序。

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

  4. 支持代码 -

     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());