我现在要用到一个数据结构 HashMap<key1, value1>,而这个value又是一个HashMap<key2, value2>,而value2又是一个List,现在我想value1是不是应该再定义一个类型比如:class XXXXX extends HashMap{
}而value2又定义一个class YYYYY extends HashMap{
}但是类里面什么也没有,看起来很怪。这种情况应该怎么去写呢?
}而value2又定义一个class YYYYY extends HashMap{
}但是类里面什么也没有,看起来很怪。这种情况应该怎么去写呢?
HashMap<HashMap<Integer, String>, HashMap<Integer, String>> map =
new HashMap<HashMap<Integer, String>, HashMap<Integer, String>>();
没必要的,value1和value2这两个参数是Object类型的,而所有类型都是继承Object的,所以这里可以使用任意类型,自然可以直接使用HashMap和List。
Map<Object, HashMap<Object, List<Object>>> map = new HashMap<Object, HashMap<Object, List<Object>>>();如果操作比较多的话,可以写个操作类用来简化操作时代码的重复
如果有很多元素,那就写个pojo类吧
按照你给的,难道这2个value都没有元素的?
public class Value1 {
private HashMap<String,Value2>();
}
然后value2:
public class Value2 {
private List<String> list;
}
get与set方法我省略了,当时我封装了像Value2这样一个类的原因是为了解决Struts2在jsp页面上迭代List<List<Object>>这样一个类型不能迭代,只能把List<Object>封装在自己的MyObj里变成迭代List<MyObj>