2016-06-25 4 views
0

단일 키에 대해 복수 값 을 저장해야하므로 Guaya에 대해 Multimap에 대해 알게되었습니다. 값K: V[] 나는대로리스트로, 동일한 키에 대해 여러 값을 저장하고이 경우에 값이 배열 될 것이다 :Guava Multimap 항목을 Java Util List에 저장하는 방법은 무엇입니까?

List<Map.Entry<String, String>

지금 내 코드에 주요 검색 요구 사항이 코드 위

List<Map.Entry<String, String>> mapCall = (List<Map.Entry<String, String>>) multimap.entries(); 

는여기하는 Collection을 반환하도록되어 : 아래

내가 그것을 완수하려고하는 방법이다, 각 Entry<String, String>. 아래

그리고 그것이 실패하는 방법입니다 : 오류 :

java.lang.ClassCastException: com.google.common.collect.AbstractMultimap$4 cannot be cast to java.util.List 

내가 아니라 자바 컬렉션 유형 인 CollectionMultimapentries() 메서드를 호출하여 여기에 반환 생각합니다. 완료 할 수있는 정확한 방법을 찾을 수 없습니다.

이것을 달성하기위한 적절한 방법은 무엇입니까 ??

답변

0

메소드 반환 유형은 Collection입니다. 문서에서는 반환 된 컬렉션이 List라고 말하지 않으므로 이러한 가정을해서는 안됩니다. 당신은 정말 목록이 필요하면

, 새로운 목록에 반환 된 컬렉션의 요소를 복사합니다

List<Map.Entry<String, String>> mapCall = new ArrayList<>(multimap.entries()); 
관련 문제