2

hashmapa にエントリを追加しようとすると、add メソッドlinkedList"cannot find symbol"エラーが発生します。

私は持っている:

import java.util.*;
import java.io.*;


class hash 
{
    public static void main(String[]args)
    {
        List<HashMap<String, String>> data = 
        new LinkedList<HashMap<String, String>>();

        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "demo");
        map.put("fname", "fdemo");

        data.add(0, map);

        String test = map.get("fname");
        String datatest = data.get(0).get("name");

        System.out.println(datatest);

    }

}

どうしたの?

4

3 に答える 3

4
List<HashMap<String, String>> data = 
        new LinkedList<HashMap<String, String>>();

上記のコードは次のようになります: -

List<Map<String, String>> data = 
        new LinkedList<Map<String, String>>();
于 2012-10-06T21:52:11.380 に答える
3

Mapこれをではなくuse に変更しますHashMap

List<HashMap<String, String>> data =
new LinkedList<HashMap<String, String>>();
于 2012-10-06T21:50:42.763 に答える
1

yourmapを as ではMapなく asとして宣言したため、yourHashMapも次のように宣言する必要がありますdata

List<Map<String, String>> data = new LinkedList<Map<String, String>>();

を変更すると、List宣言に固執することができますmap

List<HashMap<String, String>> data = new LinkedList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();

しかし、より良い方法は、宣言で特定の実装ではなく、可能な限りインターフェイスを使用することです。

于 2012-10-06T21:56:00.840 に答える