SortedQueue...

JAVA|2020. 7. 2. 14:05

자바에.. SortedQueue가 있는줄 알았는데...

없다..?;;;

 

"왜 있는줄 알았지?" 하고 찾아보니 SortedQueue는 없지만 SortedSet이 있었다..

역시 툴 자동완성을 자주 쓰다보니..

헤깔렸다보다..(뭐.. 그냥 인터페이지 차이 뿐이니..)

 

다만 한가지 더는 TreeSet은 Queue쪽 인터페이스는 안되고

(하긴 지금 생각해보니 당연한건가.. set이랑 queue랑 조금 의미가 안맞긴하겠다.. 그냥 쌓이는 queue랑 중복 제거하는 set이랑..)

 

의도대로 하려면 Queue queue = new PriorityQueue<>(Comparator)...

Queue queue = new PriorityQueue<>((o1,o2)->o2.cnt-o1.cnt)...

 

그리고 하나더

 

TreeSet은 add한 후 add한 객체를 변경하면 순서가 변경되지 않는다.

PriorityQueue도 그런가? 했는데 테스트 해보니 마찬가지로 동작한다(add할때 순서가 정해지는 가보다..).

 

마지막으로

TreeSet에 add한 객체를 수정해도 순서가 안바뀌긴 하는데

remove를 하고 add하면 당연히 바뀌겠지만..

remove 안하고 add하면 어떻게 될까..?

 

테스트 해보니 결과는 "순서가 바뀌지 않았다"

 

필요한대로 동작하는지

항상 조금씩 유닛테스트를 돌리면서 진행하다보니..

이런 폐해가...

 

 

이런 실수도 실력이니..

다시 실수 안하기 위해 까먹지 않기위해 끄적끄적..

'JAVA' 카테고리의 다른 글

Java Stream  (0) 2020.07.14
Java Time  (0) 2020.07.06
java.util.function 인터페이스  (0) 2019.12.30
JEP 218: Generics over Primitive Types  (0) 2019.12.10
[CompletableFuture][#3] 메소드 정리-1  (0) 2019.09.01

댓글()