Java:找不到符号

Java:找不到符号,java,linked-list,hashmap,Java,Linked List,Hashmap,尝试将hashmap条目添加到linkedList中,我得到add方法的“找不到符号”错误 我有: import java.util.*; import java.io.*; class hash { public static void main(String[]args) { List<HashMap<String, String>> data = new LinkedList<HashMap<Str

尝试将
hashmap
条目添加到
linkedList
中,我得到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);

    }

}
import java.util.*;
导入java.io.*;
类散列
{
公共静态void main(字符串[]args)
{
列表数据=
新建LinkedList();
Map Map=newhashmap();
地图放置(“名称”、“演示”);
map.put(“fname”、“fdemo”);
数据。添加(0,映射);
String test=map.get(“fname”);
字符串datatest=data.get(0.get(“名称”);
系统输出打印LN(数据测试);
}
}

怎么了?

将此更改为使用
Map
,而不是
HashMap

List<HashMap<String, String>> data =
new LinkedList<HashMap<String, String>>();
列表数据=
新建LinkedList();
列表数据=
新建LinkedList();
上述代码应为:-

List<Map<String, String>> data = 
        new LinkedList<Map<String, String>>();
列表数据=
新建LinkedList();

因为您将
映射声明为
映射而不是
哈希映射
,所以您还必须将
数据声明为:

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

但是更好的方法是,只要有可能,只使用接口,而不是声明中的特定实现。

编译错误没有stacktrace。
List<Map<String, String>> data = new LinkedList<Map<String, String>>();
List<HashMap<String, String>> data = new LinkedList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();