该方法是在不使用HashMap、HashSet的等工具类的情况下,单通过数组来进行统计,因此效率低下,仅供消遣
package Mission._004;
public class demo3 {
public static void main(String[] args) {
int[] arr = {20, 10, 10, 30, 15, 30, 100, 100, 20, 0, 30, 15, 0, 0, 100, 100, 50, 50};
String[] result = new String[arr.length * 2]; //将结果存入该数组,单数为数字,双数为次数
for (int i = 0; i < arr.length; i++) {
boolean flag = true; //此为是否重复的标志,循环后进行重置
int count = 0; //此为计数,循环后进行重置
for (int i1 = 0; i1 < arr.length; i1++) {
if (arr[i] == arr[i1]) {
count++; //统计元素出现次数
}
}
//判断元素是否已存在在结果数组中,如果存在改变状态
for (int j = 0; j < result.length; j += 2) {
if ((arr[i] + "").equals(result[j])) {
flag = false;
break;
}
}
//如果不存在,将存储进结果数组
if (flag) {
result[i * 2] = arr[i] + "";
result[i * 2 + 1] = count + "";
}
}
//遍历数组
for (int i = 0; i < result.length; i += 2) {
//过滤为null的数组
if (result[i] != null) {
System.out.println(result[i] + "出现了" + result[i + 1]+"次");
}
}
}
}