如何在Java中访问地图的特定值?

时间:2018-08-28 13:49:39

标签: java hashmap

我有一个由3个参数构造的Student对象; ID,开始日期,结束日期。我已经使用Student类创建了一个Map。我想提取具有给定日期参数的相同startDate和endDate的学生。据我了解,我可以使用requestparams.values()访问所有3个参数,但是由于我想分别比较日期,因此需要访问它们中的每个参数。有没有办法做到这一点?

我的代码的某些部分

public class StudentService {

    private Map<String,Student> requestparams = DatabaseClass.getStudents();

    public StudentService()
    {
        requestparams.put("123", new Student("123", "2017" , "2018"));
        requestparams.put("1234", new Student("1234", "2016" , "2017"));
        requestparams.put("8563", new Student("8563", "2015" , "2016"));
    }


  public List<Student> getFilteredStudent(String id, String startDate, String endDate)
  {
    List<Student> filteredStudents = new ArrayList<>();

    for(String key : requestparams.keySet()){
        if(key.equals(id) && /*requestparams.values().startDate == startDate something like this*/ ){
        filteredStudents.add(requestparams.get(key));
        }
    }
    return filteredStudents;
}

0 个答案:

没有答案