快捷搜索: 王者荣耀 脱发

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));
        }
    }
}
经验分享 程序员 微信小程序 职场和发展