2013-04-01 3 views
1

Guava를 사용하여지도를지도의 키와 값이 포함 된 개체의 집합 또는 목록으로 변환 할 수 있습니까? 예 : 내가 구아바이 뭔가를 놓친 거지Guava를 사용하여 오브젝트로 맵핑 하시겠습니까?

class MyEntry { 
    public String key; 
    public String value; 
} 

Map<String,String> theMap = new Map<String,String>(); 

같은 주어진 일/그것을 찾을 수 없습니다 :

Set<MyEntry> myEntries = Maps.transform(theMap, transformFunction<<Map<String,String>, MyEntry>); 

을 분명히 내가 뭔가 구아바를 놓친 경우 여전히 궁금하고, 수동으로 수행하기 어렵지 않다 정말로 그런 것을지지하지 않습니까?

어떤 힌트를 주셔서 감사합니다! 당신은 구아바로 할 수있는

답변

4

가장 가까운 것은 유형 Function<Map.Entry<String, String>, MyEntry>을 가지고 뭔가

Collection<MyEntry> myEntries = Collections2.transform(map.entrySet(), function); 
mapentrySet에 단지 정상 변환입니다

function처럼 될 것입니다.

구아바는 다양한 이유로 Sets.transform을 제공 할 수 없습니다.이 기능이 주사 형인지 보장 할 수는 없으며, 기능에 역행하지 않습니다. Set이 필요한 경우 아마도 수동 루프 만하는 것이 가장 좋습니다.

+0

깔끔한 "트릭", 나는지도 클래스에 너무 집중했고 map.entrySet() 메소드를 생각하지 않았습니다. 이 힌트를 주셔서 감사합니다 :-) FluentIterable, 내 선호하는 방법으로 이것을 사용하는 것이 가능해야합니다 :-) –

관련 문제