//二、给定一个整数序列,每个元素出现的次数称为重数,重数最大的元素称为众数。编写一段代码对递增有序序列a求众数。如S={1,2,2,2,3,5},多重集S的众数为2,重数为3.
import java.util.*;
public class test1 {
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
List<Integer> list2=new ArrayList<>();
Scanner sc = new Scanner(System.in);
System.out.println("你输入几个数字:");
int n = sc.nextInt();
for(int i=0;i<n;i++) {
int s = sc.nextInt();
list.add(s);
}
HashSet<Integer> hashSet = new HashSet<>(list);
System.out.println("list中有:"+list);
System.out.println("hashSet中有:"+hashSet);
List set=new ArrayList(hashSet);
for(int i=0;i<hashSet.size();i++) {
int count = 0;
for(int j=0;j<list.size();j++) {
if(set.get(i)==list.get(j)) {
count++;
}
}
System.out.println(set.get(i)+" 有 "+count+" 个");
}
}
}
你输入几个数字:
6
1
2
2
2
3
5
list中有:[1, 2, 2, 2, 3, 5]
hashSet中有:[1, 2, 3, 5]
1 有 1 个
2 有 3 个
3 有 1 个
5 有 1 个