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有多少个相同的 
这应该怎么做

解决方案 »

  1.   

    这个是考算法还是java呢?两种实现方法还是略有区别的。
      

  2.   

    for example
    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());
    }
      

  3.   

    String [] a ={a,b,c,a,c,b,d,e};
    把相同的值归成一类然后输出  这有什么好的方法做?
      

  4.   

    Set set=group.keySet();
    for(String str:set){
      System.out.printlf("%s:%d",str,group.get(str));
    }
      

  5.   

    group[d,4], count[1]
    group[c,3], count[2]
    group[e,5], count[1]
    group[a,1], count[2]
    group[b,2], count[2]输出来是这个样子
    但我要输出的是
    group[d,4]
    group[c,3]
    group[e,5]
    group[a,1]
    group[b,2]
    这里面的两个值输出
    比如:
    d,4    count[1]
    c,3    count[2]
    怎么做?
      

  6.   


    那你就自己取d,4和c,3打印就好了
    比如
    System.out.printf("d,4 count[%d]\n", map.get("d,4"));
    System.out.printf("c,3 count[%d]\n", map.get("c,3"));想打印什么自己从map里取出来打印就可以了
      

  7.   

    你现在是把 [d,4]是放在key里面 
    我现在要把d,4单独打印出来