28

コード:

    Multimap<String, String> myMultimap = ArrayListMultimap.create();
    myMultimap.put("12345", "qwer");
    myMultimap.put("12345", "abcd");
    myMultimap.put("12345", "qwer");
    System.out.println(myMultimap);

結果:

{12345=[qwer, abcd, qwer]}

重複した「qwer」を削除することはできますか? ありがとう。

4

3 に答える 3

45

SetMultimapたとえば、次のいずれかの実装を使用しますHashMultimap

SetMultimap<String, String> myMultimap = HashMultimap.create();
myMultimap.put("12345", "qwer");
myMultimap.put("12345", "abcd");
myMultimap.put("12345", "qwer");
System.out.println(myMultimap); // {12345=[abcd, qwer]}
于 2013-09-24T13:54:51.323 に答える
14

ListMultimapなどは、重複するArrayListMultimapキーと値のペアを許可します。やSetMultimapなどの実装を試してください。HashMultimapTreeMultimap

于 2013-09-24T13:53:20.857 に答える
1

これを行うには多くの方法があります。最も簡単なのは、 を使用することSetMultimapです。

Map<String, Set<String>>ただし、特定の例でのJDKのみのソリューションは、一意の値のへの一意のキーを1つ持つ を使用するだけSetです。

Map<String, Set<String>> map = new HashMap<String, Set<String>>();

これを使用する利点は、外部ライブラリからデータ構造を取り込む必要がないことです。Java コア ライブラリを厳密に使用しているためです。

于 2013-09-24T13:56:54.863 に答える