Java中如何获取数组中各元素所出现的次数呢?

java问题王 Java每日一问 发布时间:2021-09-19 11:12:21 阅读数:15565 1
下文笔者将讲述使用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
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202109/1157.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者