作者:平凡简单 | 来源:互联网 | 2023-06-24 13:34
随机产生10万个数据,数据范围在1~1000,统计每个数据出现的次数?
10万数据,范围在1~1000,存储-》ArrayList
-
1、统计数据重复出现次数并打印; -》HashMap
-
2、找出第一个重复的数据是什么并打印? -》HashSet HashMap
-
3、找出出现次数最多的数据并打印?-》HashMap
-
4、打印全部数据,重复性元素只打印一次; -》HashSet
要熟悉HashSet、HashMap、Hashtable、ArrayList、LinkedHashMap的特点及应用场景;
public class HashSet190227 {public static void main(String[] args) {ArrayList<Integer> arrayList &#61; new ArrayList<Integer>();Random random &#61; new Random();for (int i &#61; 0; i < 100000 ; i&#43;&#43;) {arrayList.add(random.nextInt(1000) &#43; 1);}System.out.println(arrayList);HashMap<Integer,Integer> hashMap &#61; new HashMap<Integer, Integer>();Iterator<Integer> iterator &#61; arrayList.iterator();while (iterator.hasNext()){Integer next &#61; iterator.next();if (hashMap.containsKey(next)){hashMap.put(next,hashMap.get(next) &#43; 1);}else {hashMap.put(next,1);}}Iterator<Map.Entry<Integer, Integer>> iterator1 &#61; hashMap.entrySet().iterator();while (iterator1.hasNext()){Map.Entry<Integer,Integer> next &#61; iterator1.next();Integer key &#61; next.getKey();Integer value &#61; next.getValue();System.out.print(key &#43; " " &#43; value &#43; " ");}System.out.println();HashSet<Integer> hashSet &#61; new HashSet<Integer>();Iterator<Integer> iterator2 &#61; arrayList.iterator();while (iterator2.hasNext()){Integer next &#61; iterator2.next();if (hashSet.contains(next)){System.out.println("第一个重复的数据是&#xff1a;"&#43;next);break;}else {hashSet.add(next);}}Iterator<Map.Entry<Integer, Integer>> iterator3 &#61; hashMap.entrySet().iterator();int key &#61; 0;int value &#61; 0;while (iterator3.hasNext()){Map.Entry<Integer,Integer> next &#61; iterator3.next();Integer val &#61; next.getKey();Integer times &#61; next.getValue();if (times > value){key &#61; val;value &#61; times;}}System.out.print("出现次数最多的数据&#xff1a;"&#43; key);System.out.println();HashSet<Integer> hashSet1 &#61; new HashSet<Integer>();Iterator<Integer> iterator4 &#61; arrayList.iterator();while (iterator4.hasNext()){Integer next &#61; iterator4.next();System.out.print(next&#43;" ");}System.out.println();Iterator<Integer> iterator5 &#61; hashMap.keySet().iterator();while (iterator5.hasNext()){Integer integer &#61; iterator5.next();System.out.println(integer &#43; " ");}System.out.println();}
}
//output:&#xff08;因为数据是我们随机打印的&#xff0c;所以每次打印出重复的数据和出现次数最多的数据的结果都是不相同的&#xff09;