2

尝试向 a 添加一个hashmap条目linkedList,我收到"cannot find symbol"add 方法的错误。

我有:

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,不行HashMap

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

因为您将您的声明map为 aMap而不是 aHashMap您还必须将您的声明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 回答