3

私はさまざまなgoogle-collections (または Apache commons collections ) クラスを見ていますが、私のユースケースに最も適した Map 実装を見つけるのに役立つと思います。私は自家製の地図には興味がありません。

以下にいくつかの要件を示します。

  • 私はMap<String, List<String>>データ構造を持っています(A)
  • Map<String, String>ほとんどの場合、読み取り専用ビュー (B)を公開したいと考えています。
  • (B) 特徴:
    • (B) のキーは (A) のキーに対応します。
    • (B) の値は、「(A) の最後の値」に対応します。B.get(X) == A.get(X).get(A.get(X).size() - 1)
    • (A) の値は空のリストであってはなりません

わかっArrayListMultimapていますが、(B) の要件を満たすビューが表示されません。

ポインタはありますか?

4

2 に答える 2

12

Maps.transformValuesグアバから欲しいだけだと思います:

Map<String, String> lastValueView = Maps.transformValues(originalMap,
    new Function<List<String>, String>() {
        @Override
        public String apply(List<String> input) {
            return input.get(input.size() - 1);
        }
    });
于 2013-05-02T10:03:21.670 に答える