2010-12-15 5 views
2

하나의 키와 여러 값을 갖는 사전 (HashTable, Map, ...)이 필요합니다.Java 튜플 유형의 사전 값

즉, 나는이

HashTable<Key, [value1, value2]>

같은 것을 어떻게합니까 싶어?

답변

7

는 가장 쉬운 방법은 생각 : 당신이 아니라 그냥 튜플 (쌍, 3, ...)를했을 경우

Map<Key, List<Value>> 

당신이 Pair 클래스를 만들 수 있습니다.

class Pair<E,F, ...> { 

    public E one; 
    public F two; 
    ... 

} 

그리고 이렇게 같은 Map를 사용

Map<Key, Pair<Value, Value>> 
+0

좋아요, 다른 해결책이 있다고 생각했습니다. Java에 익숙하지 않으므로이 기능을 지원하는 데이터 구조가있을 것이라고 생각했습니다. – ptikobj

+0

@pitik, 나는 이것을 지원하는 네이티브 데이터 구조가 있다고 생각하지 않는다. 나는 그것을 사용한 적이 없다. – jjnguy

+0

제네릭 형식 내에서 제네릭 형식을 사용하여 클래스를 만드는 것이 좋습니다. –

1

정의 된 길이의 값으로 배열을 저장 하시겠습니까?

2

방법에 대한 HashTable<Key, List<Value>>?

1

값에 대해 새로운 (공개가 아닌) 클래스를 만들거나 여러 개의 맵을 사용하는 것이 좋습니다.

0

가 Java 언어에서 튜플 같은 건 없다, 그래서 당신이 제안의 일부 사용할 수 있습니다

  • 저장 배열
  • 저장 목록을 설정
  • 저장 사용자 지정 개체 두 가지를 들고 값

매우 일반적인 개체도 만들 수 있습니다 : 쌍.

public Pair<A,B> { 
    public Pair(A a, B b) { 
    this.a = a; 
    this.b = b; 
    } 
    public A a() { return a; } 
    public B b() { return b; } 
} 
1

Google의 Guava는이를 수행하는 멀티 맵을 제공합니다. Javadoc

+0

자신의 수업을 직접 작성해 주셔서 감사합니다. 그리고 정확히 내가 무엇을 찾고 있었는지. – ptikobj