尝试向hashmap
添加linkedList
条目,我收到add方法的"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);
}
}
怎么了?
答案 0 :(得分:4)
List<HashMap<String, String>> data =
new LinkedList<HashMap<String, String>>();
以上代码应为: -
List<Map<String, String>> data =
new LinkedList<Map<String, String>>();
答案 1 :(得分:3)
将其更改为使用Map
,而不是HashMap
。
List<HashMap<String, String>> data =
new LinkedList<HashMap<String, String>>();
答案 2 :(得分:1)
因为您将map
宣称为Map
而不是HashMap
,您还必须将data
声明为:
List<Map<String, String>> data = new LinkedList<Map<String, String>>();
如果您更改map
:
List<HashMap<String, String>> data = new LinkedList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
但更好的方法是,尽可能只使用接口而不是声明中的特定实现。