이 내가 jodatime의 DateTime
개체를 사용하여 날짜별로 정렬 마친 후 내 객체의 순서입니다. java.util.Date
과 Calendar
도 사용해 보았지만 그 결과는 같습니다. 나는 사용자 정의 비교기 (o1.getTime().compareTo(o2.getTime())
을 사용하여 PriorityQueue
을 사용합니다. 작동해야하지만 알 수 있듯이 - 그렇지 않습니다. 웬일인지, 내가 무엇을 시험해도, 나는 항상 끝내주는 타임 라인으로 끝난다. 객체는 절대로 정렬되지 않습니다. 나는 그 (것)들을 DayOfMonth
에 의하여 비교하는 시도하고, 그 후에 일이 일치하는 경우에 HourOfDay
에 의하여 그러나 결과는 동일에 남아있다.
나는 약 3 일 동안 내 머리를 두드렸다. 왜 이런 일이 일어나는 지 아무도 모르는 사람이 있습니까?
그럼 내가 사용하는 컬렉션 때문이라고 생각하십니까? TreeSet이나 그 무언가로 바꾸려고 노력할 것입니다. 왜냐하면 좀 더 많은 시간 동안 요소를 유지해야하기 때문입니다. – Schadenfreude
PriorityQueue는이 용도로 사용할 수 있습니다. poll()을 사용할 때 우선 순위 큐의 맨 위에있는 요소를 얻습니다.이 요소는 실제로 가장 크거나 작은 요소입니다. poll() 후이 요소는 PriorityQueue에서 제거됩니다. 디버거에서 볼 수있는 것은 poll()을 사용하여 얻을 수있는 것이 아닙니다. – user987339