구아바에 다중 세트가 있습니다.이 다중 세트를 반복하지 않고 주어진 요소의 인스턴스 수를 검색하고 싶습니다. (반복하지 않으려 고합니다. 왜냐하면 모든 컬렉션을 살펴볼 때 iterating에는 상당한 시간이 걸린다 고 가정하기 때문입니다.)반복하지 않고 구아바 멀티 세트의 요소 인스턴스 수를 얻으십시오.
이렇게하려면 먼저 다중 인스턴스의 entryset() 메서드를 사용하여 단일 인스턴스와 해당 개수의 집합을 가져 오는 것이 좋습니다. 그런 다음이 집합을 해시 맵으로 변환합니다 (여기서 키는 내 세트의 요소이고 값은 인스턴스 카운트입니다). 왜냐하면 hashmap 메서드를 사용하여 키에서 값을 직접 검색 할 수 있기 때문입니다. 그러나 이것은 세트를 해시 맵으로 신속하게 변환 할 수있는 경우에만 의미가 있습니다 (모든 요소를 반복하지 않고) : 가능합니까?
(나는이 질문에 여러 건의에 결함이 될 것으로 예상했다 당신이 아마 여기 만드는 개념 실수에 빛을 흘릴 수 있다면, 나는 행복 할 것입니다. 들으!)
첫 번째 문장은 붉은 청어입니다. 'Multiset' _interface_는'count' 메쏘드를 사용합니다 (사용할 올바른 것이 있습니다). 특별히'HashMultiset.count'를 사용할 필요가 없습니다. –
@ ChrisJester-Young : 예, 'HashMultiset.count'는 Multiset.count를 오버라이드합니다. –
예. 그러나 그것은 명시 적으로'HashMultiset'보다는'Multiset' 인터페이스를 사용해야한다는 사실을 변경하지 않습니다. (즉,'HashMultiset multiset = HashMultiset.create();'가 아니라'Multiset multiset = HashMultiset.create();'). 당신은 여전히'Multiset' 인터페이스의 관점에서 동작 할 것입니다. 팩토리 메소드 만이 배후에서 'HashMultiset'이라는 것을주의해야합니다. –