8

この質問は、Java 開発者による設計の実装に関するものです。Keyset()set-view を返すのに を返すvalues()理由を知りたい (考えられない重大な理由がある場合) Collection-view。withValues()として返さないのはなぜですか。必要に応じてセットにキャストできますが、なぜそれがそのまま選択されるのか.ValueSetset-view

これは、カスタムのデータ構造を構築する際に、どのデータ構造を使用するかを決定するのに役立つかもしれません。

Map<String, Integer> map = new HashMap<String,Integer>();
map.put("hello",1);
map.put("world",2);

Collection <Integer> i = map.values();
Set<String> s = map.keySet();
4

1 に答える 1

16

定義によると、Mapフォーム aのキーSet、つまり一意のキーのコレクションです。ただし、 a の値はMap重複する可能性があります。そのため、 内の異なるキーに対して同じ値を持つことができますMap

于 2014-01-03T21:16:57.500 に答える