RT.如何统计ArrayList中元素出现的次数
比如:ArrayList中的元素有1,12,43,12,13,12,43,那么相应1出现的次数就是1,12出现的次数就是3,43出现过的次数是2,13出现的次数是1.
元素是动态往ArrayList中加的,是不是加进来一个元素要逐个和之前的元素比较呢。。
比如:ArrayList中的元素有1,12,43,12,13,12,43,那么相应1出现的次数就是1,12出现的次数就是3,43出现过的次数是2,13出现的次数是1.
元素是动态往ArrayList中加的,是不是加进来一个元素要逐个和之前的元素比较呢。。
解决方案 »
- 有关循环
- 在linux radhat下使用 shell脚本 把jar包做成daemon 如何做? 急
- java里就不必这样了吧
- 知道IP怎么获得这个IP的MAC地址和这个IP的网关IP网关MAC地址和DNS IP地址以及DNS MAC地址
- 从C++到Java,应当如何转型?
- 初始化问题
- java关于Runtime.getRuntime().exec()执行bat的问题?
- 应该显示一个圆在中央一级两个底部按钮,为什么没有显示
- 关于最新的java plugin的使用问题?
- help me:关于Jdbc的问题!!!
- InputStream void mark(int readlimit) 的问题
- 哪位大虾能给我详细解释下Canvas类
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);
}
}
刚写完,试了一下,应该能满足你的要求。我的分数很少,如果可以的话施舍一点吧??
具体地,假定ArrayList内容为0101121212343456我们如何统计01出现的次数是2,12出现过的次数是3,34出现的次数是2,56出现的次数的1(内容不仅是动态增加的 而且我们还要两个两个地分析)对应的次数要保存起来。。
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)));
}
}
先定义一个集合(ArraryList)来添加元素
如果现在想计算元素个数 则再定义一个数组就行了现在向Arrarylist中添加元素 将第一个元素将这个元素加入数组中
接着加第二个元素 如果第二个元素不等于第一个元素则也加到数组中 否则不加到数组中。这样最后数组中的元素全是唯一的并且有所有的Arrarylist元素。遍历Arrarylist的时候每一个元素个数组比较 数组中存在则++操作。