日期:2014-05-20  浏览次数:20827 次

数组里的值归类
String [] a ={a,b,c,a,c,b,d,e};
String [] b ={1,2,3,1,3,2,4,5};
数组的长度是一样的
怎么把数组的值分类  
把a,1是一组 b,2是一组 c,3是一组 d,4是一组。。。。无限
怎么把相同的全部成一个组,有多少个相同的值
比如:
a,1有多少个相同的,b,2有多少个相同的,c,3有多少个相同的 
这应该怎么做

------解决方案--------------------
for example
Java code
String [] a ={a,b,c,a,c,b,d,e};
String [] b ={1,2,3,1,3,2,4,5};
Map<String, Integer> group = new HashMap<String, Integer>();
StringBuilder buf = new StringBuilder();
for (int i=0; i<a.length; i++) {
    buf.delete(0, key.length());
    buf.append(a[i]).append(",").append(b[i]);
    String key = buf.toString();
    if (group.containsKey(key)) {
        group.put(key, grout.get(key)+1);
    } else {
        group.put(key, 1);
    }    
}
System.out.printf("has %d group\n", map.size());
for (Map.Entry<String, Integer> e : map.entrySet()) {
    System.out.printf("group[%s], count[%d]\n", e.getKey(), e.getValue());
}