如何声明这样的变量 - ArrayList LinkedhashMap

时间:2013-03-08 08:44:48

标签: java scjp

enter image description here

如何像这样声明变量 - ArrayList LinkedhashMap。

2 个答案:

答案 0 :(得分:2)

Map<String, ArrayList<LinkedHashMap<KeyType, ValueType>> maps;

KeyTypeValueType是占位符,我不知道真正的类型。真正的声明应该使用接口。但这是最接近你的问题的答案。

(更好的声明:

Map<String, List<Map<KeyType, ValueType>> maps;

我们将地图列表映射到字符串值。这就是对这种数据结构的解释 )

答案 1 :(得分:2)

如果您使用的是Java 1.5或更高版本,则可以使用泛型

//This approach is type safe.
List<LinkedHashMap<KeyType,ValueType>> myListOfMaps  = ArrayList<LinkedHashMap<KeyType, ValueType>>();

对于Java来说,1.5使用普通的Arraylist。

List myListOfMaps  = new ArrayList (); //But with this approach its not type safe , 
                                    //because any object type can be inserted

现在创建一个ListsofMaps地图

Map<String, List<Map<KeyType, ValueType>> maps = new HashMap <String, List<Map<KeyType, ValueType>>();
maps.put("rows",myListOfMaps  );

此链接将为您提供Why Use Generics ?

检查此Generic tutorial以获取更多信息