java数组元素重复次数最大值
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]); } } } }
上一篇:
Java基础知识总结(2021版)