zoukankan      html  css  js  c++  java
  • 一个小算法

    今天这里写一个算法

    给你一组数字,然后求出这组数中出现次数最多的数以及出现最多的次数。

    下面就直接上代码了,主要的注释都会在里面说明。

    通过这个算法,可以让我们更好地理解map集合,代码中我写了两种遍历map集合的方法,虽然说掌握一种就可以了,但是毕竟技多不压身,多学点东西还是很好的,尤其是第二种,更应该好好理解一下了,别的不说了,直接上代码。

     1 package test;
     2 
     3 import java.util.Collection;
     4 import java.util.Collections;
     5 import java.util.HashMap;
     6 import java.util.Map;
     7 import java.util.Set;
     8 
     9 public class Test1 {
    10 
    11     public static void main(String[] args) {
    12         
    13         //构建一个map集合
    14         //key值存储数组中的元素
    15         //value值存储数组中同一元素出现的次数
    16         Map<Integer,Integer> map=new HashMap<>();
    17         int[] array={1,3,4,7,2,3,3,5,6};
    18         for(int i=0;i<array.length;i++)
    19         {
    20             //若存在相同的元素,则对value值加1
    21             if(map.containsKey(array[i]))
    22             {
    23                 int tmp=map.get(array[i]);
    24                 map.put(array[1], ++tmp);
    25             }
    26             //否则直接将元素添加到map集合中
    27             else{
    28                 map.put(array[i], 1);
    29             }
    30         }
    31         
    32         Collection<Integer> count=map.values();
    33         //找到map的value中最大的数字,也就是数组中数字出现最多的次数
    34         int maxCount=Collections.max(count);
    35         int maxNumber=0;
    36         for(Map.Entry<Integer, Integer> entry:map.entrySet())
    37         {
    38             //得到value为maxCount的key,也就是数组中出现次数最多的数字
    39             if(maxCount==entry.getValue())
    40             {
    41                 maxNumber=entry.getKey();            
    42             }
    43         }
    44         //Set<Integer> key=map.keySet();
    45         for(Integer key:map.keySet())
    46         {
    47             int value=map.get(key);
    48             if(value==maxCount)
    49             {
    50                 System.out.println("出现次数最多的数字为:"+key);
    51                 System.out.println("出现的次数为"+value);
    52             }
    53         }
    54         System.out.println("出现次数最多的数字为:"+maxNumber);
    55         System.out.println("出现的次数为:"+maxCount);
    56     }
    57 }
  • 相关阅读:
    SpringCloud+MyBatis+Redis整合—— 超详细实例(一)
    SpringCloud开发学习总结(五)—— 服务容错保护Hystrix
    SpringCloud开发学习总结(三)—— 服务治理Eureka
    SpringCloud开发学习总结(二)—— 简单的微服务构建
    SpringCloud开发学习总结(一)—— 基础知识
    Activiti入门
    kafka入门(3)- SpringBoot集成Kafka
    kafka入门(2)- 环境部署
    kafka入门(1)- 基本概念
    微服务深入浅出(11)-- SpringBoot整合Docker
  • 原文地址:https://www.cnblogs.com/jie9608/p/7003740.html
Copyright © 2011-2022 走看看