日期:2014-05-19  浏览次数:20681 次

关于处理list<Map<String,String>>数据问题
list<Map<String,String>>
每个map有三个项,A,B,C
我现在要将A,B相同数据的归类在一组。
举个例子:
A B C
1 1 数据1
1 2 数据2
1 1 数据3
2 1 数据4
2 1 数据5
2 1 数据6

那么就要分成三个list
list1:
A B C
1 1 数据1
1 1 数据3

list2:
1 2 数据2

list3:
2 1 数据4
2 1 数据5
2 1 数据6

怎么做才好呢?

------解决方案--------------------
Java code

    public static void main(String[] args) {
        Map<String, ArrayList<Data>> map = new HashMap<String, ArrayList<Data>>();        
    }

    public class Data {
        public String A;
        public String B;
        public String C;
        
        public Data() {
            
        }
        public String getKey() {
            return A + " " + B;
        }
        @Override
        public boolean equals(Object o) {
            if (!(o instanceof Data)) {
                return false;
            }
            Data com = (Data)o;
            return (com.getKey().equals(this.getKey()) && (com.C.equals(this.C)));            
        }
    }