10w数组去重,排序,找最多出现次数(精华)
package cn.tedu.javaweb.test; import java.util.*; /*
* @author XueWeiWei
* @date 2019/6/11 8:19
*/
@SuppressWarnings("SingleStatementInBlock")
public class Ten {
public static void main(String[] args) {
int n = 100000;
Integer[] arrays = new Integer[n];
Map<Integer,Integer> map = new HashMap<Integer, Integer>();
/**
* 将10万个数放到map集合中:key是数,value是他的出现次数
*/
for (int i = 0; i <n ; i++) {
arrays[i] = new Random().nextInt(n);
int num = 1;
if (map.isEmpty()){
map.put(arrays[i],num);
}else if(map.containsKey(arrays[i])){
num = map.get(arrays[i]);
map.put(arrays[i],++num);
}else{
map.put(arrays[i],num);
}
}
/**
* 将value进行排序,找到最大值,也就是出现次数最大的那个随机数出现了多少次
*/
Collection<Integer> collection = map.values();
Object[] o = collection.toArray();
Arrays.sort(o);
System.out.println("出现次数最多的那个数出现了多少次: " + o[o.length-1] + "次"); /**
* 找到出现次数最多的随机数
*/
System.out.println("找到出现次数最多的数:");
for (Integer i:map.keySet()
) {
if (map.get(i).equals(o[o.length-1])){
System.out.print(i + " ");
}
}
System.out.println(); /**
* 将随机数数组排序输出
*/
System.out.println("将数组随机数排序输出");
for (Integer i:map.keySet()
) {
for (int j = 0; j < map.get(i); j++) {
System.out.print(i + " ");
}
} } }
10w数组去重,排序,找最多出现次数(精华)的更多相关文章
- 10w数组去重,排序,找最多出现次数
配置在博客底部 主函数 package ooDay11.zy13; import ooDay11.zy13.hanshu.GetKeyList;import ooDay11.zy13.hanshu.G ...
- js数组去重排序(封装方法)
<script type="text/javascript"> // arr代表数组,index代表下标 function lihua(arr, index){ arr ...
- 数组去重,排序,重复次数,两个数组合并,两个数组去重,map(),filter(),reduce()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- majority element(数组中找出出现次数最多的元素)
Given an array of size n, find the majority element. The majority element is the element that appear ...
- js数组去重,并统计最多项算法
从事了一段时间的前端开发,今天写了一个数组去重,并统计最多项的方法,目前只支持数组的项都是数字. 由于本人能力有限,希望能得到网友的指正!如有问题或者更好的实现思路,也欢迎大家和我讨论!代码如下: f ...
- 从一亿个ip找出出现次数最多的IP(分治法)
/* 1,hash散列 2,找到每个块出现次数最多的(默认出现均匀)—–>可以用字典树 3,在每个块出现最多的数据中挑选出最大的为结果 */ 问题一: 怎么在海量数据中找出重复次数最多的一个 算 ...
- 笔试算法题(30):从已排序数组中确定数字出现的次数 & 最大公共子串和最大公共序列(LCS)
出题:在已经排序的数组中,找出给定数字出现的次数: 分析: 解法1:由于数组已经排序,所以可以考虑使用二分查找确定给定数字A的第一个出现的位置m和最后一个出现的位置n,最后m-n+1就是A出现的次数: ...
- JS 数组常见操作汇总,数组去重、降维、排序、多数组合并实现思路整理
壹 ❀ 引 JavaScript开发中数组加工极为常见,其次在面试中被问及的概率也特别高,一直想整理一篇关于数组常见操作的文章,本文也算了却心愿了. 说在前面,文中的实现并非最佳,实现虽然有很多种,但 ...
- 数组-去重、排序方法、json排序
1.数组去重 /*方法一: 1,'1' 会被认为是相同的; 所有hash对象,如:{x;1},{y:1}会被认为是相同的 //10ms */ Array.prototype.unique=functi ...
随机推荐
- 04 body中的相关标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django之用户认证auth模块使用
Auth认证模块 执行数据库迁移的那两条命令时,即使我们没有建表,django是不是也会创建好多张表?我们创建之后去看一下里面的一个叫auth_user表,既然是表,那肯定应该有对应的操作改表的方法 ...
- .NET开发框架(二)-框架功能简述
若视频播放不了,请点击 这里查看 本框架为响应式SPA框架,支持PC与手机端的屏幕自适应.手机展示效果视频在文章末尾查看. 框架入口地址:http://letyouknow.net/ 1.框架登录界面 ...
- LaTeX 中插入GIF图片
参见博文:liam.page 和 voidcn 前提条件 安装 ImageMagick 软件 (因为要把 gif 图片转换成 png 序列),使用它的命令行工具 convert.exe 命令行下把 g ...
- django-haystack+whoosh+jieba实现中文全文搜索
先上效果图 附上个人网站:https://liyuankun.cn 安装依赖库 注意:这里我们不安装django-haystack,因为要添加中文分词的功能很麻烦,所以我直接集成了一个中文的djang ...
- Linux系统中sysctl命令详解
sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下.sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎 ...
- Ruby中的数值
数值类型 Ruby中所有数值都是Numeric类的子类对象,数值都是不可变对象. 数值类型的继承关系如下: Integer是整数,Float是浮点数类型,Rational是分数. 对于整数,要么是Fi ...
- c++ 二分答案
c++ 二分答案 问题 使得x^x达到或超过n位数字的最小正整数x是多少?n<=2000000000 分析 对与这种较难求解的问题,我们很难想出较好的解决策略.但是,我们至少知道答案一定在1与2 ...
- VUE-CLI3.0安装和使用echart方法
在Vue中使用echarts的两种方式 npm webpack vue-cli echarts vue.js 准备:使用vue-cli脚手架 如果你已经有自己的项目,可以跳过这一步. npm下载v ...
- Postgresql_fdw
Postgresql_fdw 测试环境 Ubuntu 16.04 LTS云主机2台,主机名为pg1(192.168.0.34)和pg2(192.168.0.39). 安装postgresql 下面这个 ...