java数组元素重复次数最大值

本文介绍了一个Java程序,通过使用HashSet去除数组中的重复元素,并在新数组中统计每个元素出现的次数,最终找出出现次数最多的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package lianxi;

import java.util.HashSet;
import java.util.Set;

public class Demo8
{

	/**
	 * @file Demo8.java
	 * @author 變脸
	 * @datetime 2016-1-10 上午11:04:37 
	 * 
	 */
	public static void main(String[] args)
	{
		Object[] obj1   = {"aa","bb","cc","dd","aa","dd","ee","dd","ff","c","dd","rr","aa","aa"};
		//把数组放进set,去除重复
		Set<Object> set = new HashSet();
		for(Object o:obj1)
		{
			set.add(o);
		}
		//把set里数据放入新的数组obj2[]
		Object[] obj2 = set.toArray();
		
		//再做一个数组,存放obj2数组的个数
		int [] counts = new int[obj2.length];
		
		//定义数组中元素出现最大次数k
		int k = 0;
		//双重循环,对比obj1 obj2
		for(int i=0;i<obj2.length;i++)
		{
			int count=0;
			for(int j=0;j<obj1.length;j++)
			{
				if(obj2[i]==obj1[j])
				{
					count++;
				}
			}
			//如果次数大于最大次数k,则count赋值给k
			if(count>k)
				k=count;
			//次数存入counts[]
			counts[i]=count;
		}
		System.out.println("最大次数是"+k);
		
		//最大次数的数可能不止一个,我们用counts[]里面和最大次数相同值的下标,去取obj2[]里面的元素,得到最大次数元素
		for(int i=0;i<counts.length;i++)
		{
			if(counts[i]==k){
				System.out.println("出现次数最大的数为:"+obj2[i]);
			}
		}
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值