Java中如何获取数组中各元素所出现的次数呢?
下文笔者将讲述使用Java代码获取数组中每一个元素出现次数的方法分享,如下所示:
实现思路: 1.定义一个list 2.然后对List进行排序 3.对排序后的List进行遍历,得出数组中元素出现的个数 此算法的优点,可减少遍历数组的次数例:
package com.java265.other; import java.util.ArrayList; import java.util.List; public class test { /* * java265.com 获取一个数组中各元素出现的个数 */ public static void main(String[] args) { int a[] = { 1, 2, 2, 1, 43, 14, 56, 25, 6, 8, 2, 67, 43 }; // 将数组转换为一个List缓存 List<integer> l = new ArrayList<>(); for (int i : a) { l.add(i); } // 对List进行排序 l.sort(null); // 临时变量,存储分析结果 List<string> t = new ArrayList<>(); int tmp1 = 0; int tmp2 = 1;// 初始化变量 // 初始化变量 if (l.size() > 0) tmp1 = l.get(0); for (int i = 1; i < l.size(); i++) { int t1 = l.get(i); if (t1 == tmp1) { ++tmp2; tmp1 = t1; if (i + 1 == l.size()) { t.add(tmp1 + "的个数为:" + tmp2); } } else { t.add(tmp1 + "的个数为:" + tmp2); tmp2 = 1; tmp1 = t1; if (i + 1 == l.size()) { t.add(tmp1 + "的个数为:" + tmp2); } } } for (String s : t) { System.out.println(s); } } } ------运行以上代码,将输出以下信息------- 1的个数为:2 2的个数为:3 6的个数为:1 8的个数为:1 14的个数为:1 25的个数为:1 43的个数为:2 56的个数为:1 67的个数为:1
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。