1

私は

Map<String, List<String>> myMap;

リスト内のオブジェクトを取得するのに苦労しています: たとえば、マップから取得できます

String myString = myMap.get("Toyota").toString();

しかし、どうすればリストから取得できますか? リストには、各自動車ブランドのすべてのモデルが含まれているとしましょう。そのリストの項目 0 だけを取得するにはどうすればよいですか?

ありがとう

4

4 に答える 4

2

myMap.get("Toyota").get(0)- そうするべきです。その理由は、myMap「トヨタ」というキーが指している値を尋ねるからです。定義で定義したように、値は常に型List<String>であり、呼び出しがオブジェクトをmyMap.get("Toyota")返すことを意味しList<String>ます。呼び出しを行うときは、実際にのメソッドをget(0)呼び出しますgetList<String>

于 2013-07-21T07:29:39.167 に答える
1

Listを取得してから、その内容を取得する必要があります。

//myMap.get(key).get(listIndex);
// myMap.get("Toyota"); // gets the List object
myMap.get("Toyota").get(0); 

したがって、 Map#get()を使用してからList#get()を使用する必要があります。

于 2013-07-21T07:29:26.710 に答える
1

このステートメントは、 key の値である型をmyMap.get("Toyota")返します。を使用してリストの最初の要素を取得できますListToyotamyMap.get("Toyota").get(0)

于 2013-07-21T07:31:34.517 に答える
0

基本的に、マップを使用して特定のキーに基づいて値を取得する場合は、マップを反復処理して次のように取得できます。

for (final Entry<String, List<String>> entry : myMap.entrySet()) {
    String key = entry.getKey();
    List<String> value = entry.getValue();
}

ご覧のとおり、for ループ内にはキーと値の両方があります。その後、ここでさらに処理を行うことができます。

于 2013-07-22T08:29:01.643 に答える