Java打印任意数组元素出现的次数
2017-10-07 22:30
267 查看
//方法一: int[] arr = { 1, 2, 3, 3, 4, 4 }; boolean[] flagArr = new boolean[arr.length]; for (int i = 0; i < arr.length; i++) { // arr中重复的元素对应的索引arr2中赋值为0; int count = 0; if (!flagArr[i]) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] == arr[j]) { flagArr[j] = true; } } } } for (int i = 0; i < arr.length; i++) {// 只要arr2中不为0的话,那对应得索引在arr中的元素必不重复; if (!flagArr[i]) { int count = 0; for (int j = 0; j < arr.length; j++) { if (arr[i] == arr[j]) { count++; } } System.out.println(arr[i] + "出现了" + count + "次"); } } /*打印结果: 1出现了1次 2出现了1次 3出现了2次 4出现了2次 */ //方法二: /** 这个方法是定义一个新数组,新数组只存老数组不重复的元素。 */ int[] arr = { 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, 3, 3, 4, 0,4, 4, 4, 4, 5, 5, 5, 5, 5 }; int[] arr2 = new int[arr.length]; boolean flag; int count1 = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] == 0) { count1++; } } System.out.println(0 + "出现了" + count1 + "次"); for (int i = 0; i < arr.length; i++) { flag = true; for (int j = 0; j < arr.length; j++) { if (arr[i] == arr2[j]) { flag = false; } } if (flag) { arr2[i] = arr[i]; int count = 0; for (int j = i; j < arr.length; j++) { if (arr[i] == arr[j]) { count++; } } System.out.println(arr[i] + "出现了" + count + "次"); } } /*打印结果: 0出现了8次 1出现了1次 2出现了3次 3出现了3次 4出现了5次 5出现了5次 */ //方法三: //虽然集合有方法可以去重,但是感觉还是得锻炼一下自己的逻辑思维能力 ArrayList<Integer> arrlist = new ArrayList<>(); int[] arr = { 1, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, 3, 3, 4, 0, 4, 4, 4, 4, 5, 5, 5, 5, 5 }; // List<int[]> asList = Arrays.asList(arr); for (int i : arr) { arrlist.add(i); } for (int x = 0; x < arrlist.size() - 1; x++) {// 手动集合去重代码 for (int y = x + 1; y < arrlist.size(); y++) { if (arrlist.get(x) == arrlist.get(y)) { arrlist.remove(y); y = y - 1; } } } for (int i = 0; i < arrlist.size(); i++) { int count = 0; for (int j = 0; j < arr.length; j++) { if (arrlist.get(i) == arr[j]) { count++; } } System.out.println(arrlist.get(i) + "出现了" + count + "次"); }
相关文章推荐
- java找出一个数组中出现次数最多的那个元素
- Java实现——求整数数组中出现次数超过数组长度一半的元素
- 用Java实现求一个数组中的出现次数最多的元素的个数
- 剑指Offer-29-java实现查找数组中出现次数超过一半的元素
- 找出整数数组中出现次数超过数组长度一半的元素(Java)
- java找出一个数组中出现次数最多的那个元素(用HashSet很新颖)
- Java实现 找出数组中出现次数超过数组长度一半的元素
- java 找出n个元素数组中重复次数最多的数(假设出现次数大于n/2)
- 任意给定一整数数组,求两个元素之差的最大值和数组中出现次数最多的数
- java找出一个数组中出现次数最多且最大的那个元素
- java 统计数组中各元素出现的次数
- 统计数组中元素出现的次数——Java小程序
- java找出一个数组中出现次数最多的那个元素
- java中判断数组中元素出现的次数
- 【Java笔试题】输出数组中元素出现次数过半的元素
- 求一个数组中出现次数前k种的元素
- java,查找数组中指定元素第一次出现的索引值。
- 剑指offer:数组中出现次数超过一半的数字(java)
- java统计字符串数组中每个字符串所出现的次数
- JAVA代码—算法基础:找出整形数组中只出现过1次的两个元素