查处来的结果如下。实现Java数据封装
objectid       contentid         Result
1                 1                 10
1                 1                 20
1                 2                 20
1                 2                 30
1                 3                 10
2 .....要实现封装  一个对象ID 对应多个内容。一个内容对应多个结果我目前的想法是map<objectid,map<contentid,list<结果分数>>>可是这样的代码我实现不了重复累加。.contentid的KEY.. 每次都覆盖了上次的contentid.请赐教!^_^!  

解决方案 »

  1.   

    map<objectid,map<contentid,list<结果分数>>>你写的这个map就可以了
    给你看段代码你就明白了String[][] aa = {{"1","10"},{"1","20"},{"2","20"},{"2","30"},{"2","40"}};
    Map<String,List<String>> map = new HashMap<String,List<String>>();
    List<String> l = null;
    for(int i=0;i<aa.length;i++){
    if(map.containsKey(aa[i][0])){
    l.add(aa[i][1]);
    }else{
    l = new ArrayList<String>();
    l.add(aa[i][1]);
    map.put(aa[i][0],l);
    }
    }
    System.out.println(map);
      

  2.   

    不好意思 上面的掉了一句
    String[][] aa = {{"1","10"},{"1","20"},{"2","20"},{"1","50"},{"2","30"},{"1","500"},{"2","40"}};
    Map<String,List<String>> map = new HashMap<String,List<String>>();
    List<String> l = null;
    for(int i=0;i<aa.length;i++){
    if(map.containsKey(aa[i][0])){
    l = map.get(aa[i][0]);//这里掉了 不好意思
    l.add(aa[i][1]);
    map.put(aa[i][0],l);
                            }else{
    l = new ArrayList<String>();
    l.add(aa[i][1]);
    map.put(aa[i][0],l);
    }
    }
    System.out.println(map);
      

  3.   

    上面是举个例子
    你说的 可是这样的代码我实现不了重复累加。.contentid的KEY.. 每次都覆盖了上次的contentid.这个例子完全可以实现
    3列数据和2列数据没区别 最外层的map也要写?
    例子都给你了 如果你不能灵活运用 那谁也没办法帮你
      

  4.   


    import java.util.List;public class MyObject {
    private int objectid;
    private List<Content> contents;

    public int getObjectid() {
    return objectid;
    }
    public void setObjectid(int objectid) {
    this.objectid = objectid;
    }
    public List<Content> getContents() {
    return contents;
    }
    public void setContents(List<Content> contents) {
    this.contents = contents;
    }
    }import java.util.List;public class Content {
    private int contentid;
    private List<Integer> results;

    public int getContentid() {
    return contentid;
    }
    public void setContentid(int contentid) {
    this.contentid = contentid;
    }
    public List<Integer> getResults() {
    return results;
    }
    public void setResults(List<Integer> results) {
    this.results = results;
    }
    }
      

  5.   

    import java.util.List;public class MyObject {
        private int objectid;
        private List<Content> contents;
        
        public int getObjectid() {
            return objectid;
        }
        public void setObjectid(int objectid) {
            this.objectid = objectid;
        }
        public List<Content> getContents() {
            return contents;
        }
        public void setContents(List<Content> contents) {
            this.contents = contents;
        }
    }
      

  6.   

    import java.util.List;public class Content {
        private int contentid;
        private List<Integer> results;
        
        public int getContentid() {
            return contentid;
        }
        public void setContentid(int contentid) {
            this.contentid = contentid;
        }
        public List<Integer> getResults() {
            return results;
        }
        public void setResults(List<Integer> results) {
            this.results = results;
        }
    }
      

  7.   

    用对象比map好很多,而且还清晰。而且以后扩展性也比map强。