![](/img/trans.png)
[英]How to go through hashmap and compare key or value to scanner input?
[英]How to go through HashMap and compare the object's data and replace the value for HashMap?
我很難寫幾行代碼。 我目前所有的代碼都在: https://github.com/anabeen/MeetingJava
我遇到的問題是,通過 hashmap 找到適合 go 的方法,並獲取具有重疊時間的會議並替換它們。
Map<LocalDate, Set<Meeting>> meetings = new HashMap<LocalDate, Set<Meeting>>();
假設我們有一個[{2011-03-21=[objectMeeting1, objectMeeting2]}]
的 HashMap,我們需要將 objectMeeting3 添加到該 hashMap。 我如何 select 密鑰“2011-03-21”查看該 hashmap 中的對象並將其中的對象集與新的 objectMeeting3 的時間(來自對象的部分數據)進行比較,然后替換該 ZDDA7806A4847EC61B5940C2623A
在 GitHub 中,我試圖通過 MeetingSchedulerTest()。 這就是我被困在的地方:
Meeting meeting = extractMeeting(employeeId, requestLines[i],
officeStartTime, officeFinishTime, meetingSlotRequest1);
if(meetings.containsKey(meetingDate)){
// if the order overlaps
for (Map.Entry<LocalDate, Set<Meeting>> meetingEntry : meetings.entrySet()) {
if (meetingDate == meetingEntry.getKey())
{
Set<Meeting> setOfMeeting = meetingEntry.getValue();
for (Meeting m : setOfMeeting) {
}
}
}
// if the order doesn't
if (meetings.get(meetingDate) != null)
//shouldNotHaveOverlappingMeetings
{
System.out.println("HERES?");
meetings.remove(meetingDate);
Set<Meeting> meetingsForDay = new HashSet<Meeting>();
meetingsForDay.add(meeting);
meetings.put(meetingDate, meetingsForDay);
} else
{
System.out.println("HERES2?");
meetings.get(meetingDate).add(meeting);
}
}else if (meeting != null){
// if meeting doens't have meetingDate then create a new HashMap with date & Meeting
System.out.println("HERES3?");
Set<Meeting> meetingsForDay = new HashSet<Meeting>();
meetingsForDay.add(meeting);
meetings.put(meetingDate, meetingsForDay);
}
}
我通過使用這個找到了答案:
for (Map.Entry<LocalDate, Set<Meeting>> meetingEntry : meetings.entrySet()) {
if (meetingDate.equals(meetingEntry.getKey()))
{
System.out.println("HERES1? ");
Set<Meeting> setOfMeeting = meetingEntry.getValue();
for (Meeting m : setOfMeeting) {
System.out.println("comparing time? " + m.getStartTime().getHourOfDay() + " TO "
+ meeting.getStartTime().getHourOfDay());
if (m.compareTo(meeting) == 0) {
continue;
} else {
setToPut.add(m);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.