5

私は持っていHashMap<String, String>ます。の文字列配列を作成したい場合は、次のようにhashmap.values()作成できます

String[] strArray = new String[hashmap.size()]

しかし、私の問題は、ハッシュマップ値に「A、B、C」が含まれている場合、strArrayにAとBおよびCを追加する必要があることです。

4

3 に答える 3

21

を使用しArrayListます。

List<String> myList = new ArrayList<String>();

サイズに関係なく、HashMap簡単に操作できますArrayList

配列が必要な場合は、使用できます

String[] arr = myList.toArray(new String[myList.size()]);

あなたが終わったら。

于 2012-06-21T12:26:57.153 に答える
2

配列が必要なときはいつでも、値のコピーを取ることができます。

Map<Double, String> map = ...
String[] values = map.values().toArray(new String[map.size()]);

マップを変更すると (サイズが変わらなくても)、配列は変更されず、別のコピーを作成する必要があります。値は一意である必要がありますか?

したがって、値 (A、B、C、P、Q、R...、Z) を持つ文字列配列を作成する必要があります。

その場合、次のことを行いたいようです。

Map<Double, String> map = ...
List<String> valueList = new ArrayList<>();
for(String value: map.values())
   valueList.addAll(Arrays.asList(value.split(",")));
String[] values = valueList.toArray(new String[valueList.size()]);
于 2012-06-21T12:32:32.857 に答える
0

配列である必要がありますか?Maps を使用すると、値セットのキーを取得できます。

于 2012-06-21T12:28:17.470 に答える