RT.如何统计ArrayList中元素出现的次数
比如:ArrayList中的元素有1,12,43,12,13,12,43,那么相应1出现的次数就是1,12出现的次数就是3,43出现过的次数是2,13出现的次数是1.
元素是动态往ArrayList中加的,是不是加进来一个元素要逐个和之前的元素比较呢。。

解决方案 »

  1.   

    具体地,假定ArrayList内容为0101121212343456我们如何统计01出现的次数是2,12出现过的次数是3,34出现的次数是2,56出现的次数的1(内容不仅是动态增加的 而且我们还要两个两个地分析)
      

  2.   

    import java.util.ArrayList;
    import java.util.Scanner;
    public class Answer {
    ArrayList<Integer> list=new ArrayList<Integer>();
    int []number={1,12,43,12,13,12,43};
    public void inputList(){ //将这些数字添加到集合里面
    for(int i=0;i<number.length;i++){
    list.add(number[i]);
    }
    }
    public int getAmount(Integer i){ //计算输入数字的个数
    int amount=0;
    while(list.remove(i)){
    amount++;
    }
    return amount;
    }
    public static void main(String o[]){
    Answer yourAnswer=new Answer();
    yourAnswer.inputList();
    Scanner sc = new Scanner(System.in);
    System.out.print("Please enter a number:");
    int getInput=sc.nextInt();    //输入一个数字
    int amount=yourAnswer.getAmount(getInput);
    System.out.println("The amount of "+getInput+" in the list is "+amount);
    }
    }
    刚写完,试了一下,应该能满足你的要求。我的分数很少,如果可以的话施舍一点吧??
      

  3.   


    具体地,假定ArrayList内容为0101121212343456我们如何统计01出现的次数是2,12出现过的次数是3,34出现的次数是2,56出现的次数的1(内容不仅是动态增加的 而且我们还要两个两个地分析)对应的次数要保存起来。。
      

  4.   

    调用函数Collections.frequency(Collection<T>, T object)
      

  5.   

    我汗。java.util.Collections 工具类。自己看API或者调用一下就知道了。
      

  6.   


    import java.util.*;public class ArrayListTest { public static void main(String[] args) {
    ArrayList<Integer> list = new ArrayList<Integer>();
    int[] array = {1, 12, 43, 12, 13, 12, 43};
    for (int i : array) {
    list.add(new Integer(i));
    }
    System.out.println(Collections.frequency(list, new Integer(1)));
    System.out.println(Collections.frequency(list, new Integer(12)));
    System.out.println(Collections.frequency(list, new Integer(43)));
    System.out.println(Collections.frequency(list, new Integer(13)));
    }
    }
      

  7.   

    可以看看jdk自带的源程序中算法是怎么实现的
      

  8.   

    这个问题只能这样设计
    先定义一个集合(ArraryList)来添加元素
    如果现在想计算元素个数 则再定义一个数组就行了现在向Arrarylist中添加元素 将第一个元素将这个元素加入数组中
    接着加第二个元素 如果第二个元素不等于第一个元素则也加到数组中  否则不加到数组中。这样最后数组中的元素全是唯一的并且有所有的Arrarylist元素。遍历Arrarylist的时候每一个元素个数组比较 数组中存在则++操作。