Java统计数组中重复数及重复个数
鉴于这几天在回答过程中获取相关题主所提出的相关问题,在此也记录回答中一个常见问题,如果是刚刚起步学习编程的小伙伴,统计数组中重复数及重复个数这个问题是很容易碰到,感觉大学中的任课老师也喜欢出此类型的题目让各位练习。虽然本人也是最近才开始回答问题的,但是我能担保我回答的每一个问题都很用心,即便是题主后续继续追问我也是会很耐心花时间给你们解答的,因为在回答过程中我自己也是收获满满,既是帮助各位小伙伴,也是让自己能够温故而知新,一举两得,何乐不为呢? 话不多说,直接上题目: 给定一个数组长度n,以及n个数,在这n个数中,有几个数是相同的,请找出这个数,并统计重复了多少次。
结题思路:①数组元素遍历;②使用map.get(i)获取数组的重复个数
package com.java.algorithm; import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * @ClassName: NumberOfReplication * @Description:统计数组中重复数及重复个数 * @Author: YuHao * @Date: 2022/4/8 */ public class NumberOfReplication { public static void main(String[] args) { int temp = 0; int result = 0; Scanner scanner = new Scanner(System.in); System.out.print("请输入数组的长度:"); int length = scanner.nextInt(); System.out.print("请输入"+length+"个数:"); int [] array = new int[length]; for (int i = 0; i < array.length; i++) { array[i] = scanner.nextInt(); } Map<Integer,Integer> map = new HashMap<>(); for(int a : array){ //统计重复数的个数 map.put(a, map.get(a) == null? 1 : map.get(a)+1); } for (int key : map.keySet()){ //输出格式:key:value System.out.println(key + ":" + map.get(key)); } } }