如果我有一个list,里面装有重复数据,我想求重复数据的个数,最简单的办法是什么!
例:
listA 中数据:1 2 2 3 4 5 S b B B!我想知道list中 有多少个1 多少个2 

解决方案 »

  1.   

    将list,转成map,数据为key,大小为value,计算之
      

  2.   


    大小为value什么意思???
    请说的具体点好吗??
      

  3.   

    if(map.constainKey(key)){
       map.put(key,map.get(key)+1);
    }else{
       map.put(key,1);
    }
    手写的具体方法参考API
    这样总能看懂吧
      

  4.   

    public static void main(String[] args)
    {

     
    List list = new ArrayList();
    list.add("1");
    list.add("1"); list.add("2");
    list.add("2");
    list.add("3");


    Map  map = new HashMap();

    for(Iterator iter=list.iterator();iter.hasNext();){

         String str =  (String) iter.next();
       if( map.containsKey(str)){
       
       String value = (String) map.get(str);
       int v = Integer.parseInt(value)+1;
       map.put(str, String.valueOf(v));
       }else{
       map.put(str,"1");
       }
       

    }
      

    //遍历map
      Set set  = map.keySet();
              Iterator iter = set.iterator();
              while(iter.hasNext()){
               
               String key = (String) iter.next();
              
               String value = (String) map.get(key);
               System.out.println(key+"="+value);
              // System.out.println();
              } }
      

  5.   


    public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
           list.add("1");
           list.add("2");
           list.add("2");
           list.add("3");
           list.add("4");
           list.add("b");
           list.add("b");
           Map  map = new HashMap();         
            for(Iterator iter=list.iterator();iter.hasNext();){
                
                 String str =  (String) iter.next();
                   map.put(str,str);
               }
            System.out.println(map.size());

    }
      

  6.   


    list转map,key为list数组的元素,调用contain方法遍历,如果为真,则对应key的value+1.1楼不说明白------------------------
      

  7.   

     public static void main(String[] args) {
            List<Character> list = new ArrayList<Character>();
            list.add('1');
            list.add('2');
            list.add('1');
            list.add('3');
            list.add('3');
            list.add('3');
            list.add('a');
            list.add('a');
            list.add('A');
            list.add('B');
            int [] iNumber = new int [122];
            for(Character ch:list){
                iNumber[ch]++;
            }
            for(int i = 0 ; i < iNumber.length ; i ++){
                if(iNumber[i]!=0){
                    System.out.println((char)i+":"+iNumber[i]+"个");
                }
            }
        }哈,刚刚干完活,项目经理出差~~上来CSDN答下题~~我这个够简单了吧,时间复杂度O(n)~~~
      

  8.   

    10楼只能是Character类型啊 有个33怎么办
      

  9.   

    把数据放入set中,计算多少个,再对比
      

  10.   

    public static void main(String[] args) {
    List<Integer> listNum = new ArrayList<Integer>();
    listNum.add(1);
    listNum.add(2);
    listNum.add(2);
    listNum.add(6);
    HashMap<Integer,Integer> mapNum = new HashMap<Integer,Integer>();
    for (int i = 0; i < listNum.size(); i++) {
    if(!mapNum.containsKey(listNum.get(i))){
    mapNum.put(listNum.get(i), 1);
    }else{
    int value = mapNum.get(listNum.get(i));
    mapNum.put(listNum.get(i), value+1);
    }
    }
    for (Integer key : mapNum.keySet()) {
    System.out.println(key+"\t\t"+mapNum.get(key));
    }
    }
    贴一下代码--------------------------------------------------------------------
      

  11.   

    public static void main(String[] args) { List<String> list = new ArrayList<String>();
    list.add("1");
    list.add("1");
    list.add("2");
    list.add("2");
    list.add("3"); Map<String, Integer> map = new HashMap<String, Integer>();
    Iterator<String> it=list.iterator();
    while(it.hasNext()){
    String str = (String) it.next();
    if (map.containsKey(str)) {
    int value = (map.get(str)) + 1;
    map.put(str, value);
    } else {
    map.put(str, 1);
    }
    } it = map.keySet().iterator();
    while (it.hasNext()) {
    String key = (String) it.next();
    int value = map.get(key);
    System.out.println(key + "=" + value);
    } }