나는 중복 키를 포함하여 TreeMultimap<Integer, String>
입니다.java : 주어진 키 범위 내에서 값의 개수를 구아바 멀티 맵
제가 먼저나는, 특정 키 범위 내에 값의 수를 얻기 위해 너무와 O (logN) 시간 복잡도를 원한다.
asMap()
방법을 사용하고 필요 범위 submap
를 생성하고 그 크기를 인출하여 SortedMap
에 TreeMultimap
변환하여 시험해 보았다. SortedMap<Integer, Collection<String>> sortedMap = mapList.getTmm().asMap();
return sortedMap.subMap(beg,end).size();
는 복잡도 O (logN)을 갖는?
또한 여기서 문제가 발생했습니다. TreeMultimap
이 SortedMap
으로 변환되면 값은 Collection
클래스의 개체입니다. 즉, TreeMultimap
에 중복 키가있는 키 - 값 쌍이 하나의 Collection
클래스에 포함됩니다. 따라서 size()
메서드는 잘못된 값을 반환합니다.
다른 방법이 있나요? 도움을 주시면 감사하겠습니다.
"복잡성 O (logN)이 있습니까?" 중요하지 않습니다. 올바른 답을 반환하지 않기 때문입니다. 값의 수는 아니고 키의 수입니다. –
예. 다른 방법이 있습니까? @ 앤디 터너 –