一个数组中有N个元素,找出其中重复次数最多的那个元素?JAVA LIST 集合

一个数组中有N个元素,找出其中重复次数最多的那个元素?JAVA LIST 集合
一个数组中有N个元素,找出其中重复次数最多的那个元素?原来的问题的假设条件是***没有重复次数相同的两个不同元素***,例如{1,1,2,2,4,4,4,4,5,5,6,6,6},就是要找出4,之前很感谢guoshanhe提供的算法,虽然不一定是最好的,但是对于我却是实用的.
但是我现在得到的原始数组中***存在重复次数相同的两个不同元素***,例如{1,1,2,2,2,3,3,3,4,4,4},这样的话就需要把2,3,4都找出来.这样的话,guoshanhe提供的算法就不是很好了.并且数组中的情况是不确定的,也有可能是{1,1,1,2,2,3,3,3},所以算法要有一定的通用性
如果LIst里面存储的是 对象,那么应该怎么找到重复次数最多的对象,
天下一绝TRX 1年前 已收到1个回答 举报

fcfd57502 幼苗

共回答了16个问题采纳率:87.5% 举报

import java.util.HashSet;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;
public class TestJ {
x05public static void main(String[] args) {
/*List list = new ArrayList();
x05x05list.add(.);
list.add(.); .
x05x05Object[] obj1 = list.toArray();*/
//以上注释部分代码意思是:可以自己给list中加入元素,然后赋给数组obj1
x05x05Object[] obj1 = {1,1,2,2,2,3,3,3,4,4,4};
//这里用你给的这个数组简单测试一下.
//Object数组中存放对象,
x05x05Set s = new HashSet();//HashSet用来去掉重复
x05x05for(Object o:obj1){
x05x05x05s.add(o);
x05x05} //现在的集合s中无重复的包含obj1中的所有元素
x05x05Object[] obj2 = s.toArray();//把集合s中的元素存入数组obj2中
x05x05int[] n = new int[obj2.length];//这个数组用来存放每一个元素出现的次数
x05x05int max = 0;
x05x05for(int i=0;i

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.029 s. - webmaster@yulucn.com