如何记录数组中重复元素出现的次数
数组是允许有重复元素的,我们可能会面临一个需求,统计容器中重复元素出现的次数。想要统计重复元素的个数,我们需要经历一下几个步骤1.遍历数组arr 取出每一个元素2.遍历数组arr2 , 判断 从arr取出的元素是否在 arr2 中出现过。有出现过 : 代表元素已经统计过次数,不需要再次统计,跳过当前循环没有出现过:没有统计,开始统计3.用arr 取出的元素和 (arr)数组中每一个元素作比较 ,
·
1.
数组是允许有重复元素的,我们可能会面临一个需求,统计容器中重复元素出现的次数。想要统计重复元素的个数,我们需要经历一下几个步骤
1.遍历数组arr 取出每一个元素
2.遍历数组arr2 , 判断 从arr取出的元素是否在 arr2 中出现过。
有出现过 : 代表元素已经统计过次数,不需要再次统计,跳过当前循环
没有出现过:没有统计,开始统计
3.用arr 取出的元素和 (arr)数组中每一个元素作比较 , 如果有一样,就记录次数,
一轮比较完成后输出 元素 和 重复的次数,每次统计一个元素需要记录下来;
2.
代码实现:
public class RecordTheNumberOfRepetitions {
public static void main(String[] args) {
String[] arr = new String[20];
String[] arr2 = new String[20];
//index 作为arr2储存元素的索引
int index = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = (char) ((int) (Math.random() * 26) + 65) + "";
}
System.out.println(Arrays.toString(arr));
//遍历整个数组取出每一个元素
for (String str : arr) {
boolean flag = false;
//先判断元素是否已经比较过
for (int i = 0; i < arr2.length; i++) {
if (str.equals(arr2[i])) {
flag = true;
break;
}
}
if (flag) {//跳过当前循环,进入下一轮循环
continue;
}
//str就是数组中的每个元素
//需要用str和数组中的元素作比较
int count = 0;
for (int i = 0; i < arr.length; i++) {
//String类型判断是否相同需要用equals;
if (str.equals(arr[i])) {
count++;
}
}
//记录统计过的元素
arr2[index++] = str;
//最后输出元素和元素重复的次数
System.out.println(str + "出现了" + count + "次");
}
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)