java如果在一个给定的map中取出随机的一个键值对呢?
首先测试一下, 先写一个map做测试用, 当然是我们最喜欢的4am啦:

import java.util.*;class Untitled {public static void main(String[] args) {Map<String ,String> a = new HashMap<>();a.put("0", "godv");a.put("1", "mifengaaa");a.put("2", "aluka");a.put("3", "gucun");a.put("4", "cpt");a.put("5", "forever");a.forEach((k,v)->{System.out.println(k+"=>"+v);});}
}
//0=>godv
//1=>mifengaaa
//2=>aluka
//3=>gucun
//4=>cpt
//5=>forever
  1. 时间换空间, 生成随机数用遍历次数做随机取值:
     Random rnd = new Random();rnd.setSeed(new Date().hashCode());final int d = rnd.nextInt(a.size());int x = 0;Iterator<Map.Entry<String, String>> it = a.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, String> itt = it.next();if(x++ == d){System.out.println(itt.getKey()+"=>"+itt.getValue());}}
  1. 空间换时间, 先存储KeySet然后做随机取key值
     ArrayList<String> b = new ArrayList<>(a.size());a.forEach((k,v)->{b.add(k);});Random rnd = new Random();rnd.setSeed(new Date().hashCode());final int d = rnd.nextInt(a.size());System.out.println(b.get(d)+"=>"+a.get(b.get(d)));

在json里面做的取随机对的时候也可以这么做~你懂我意思吧!

随机获得map/json中的一组键值对相关推荐

  1. cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

  2. java解析sql查询字段_sql解析json格式字段 如何获取json中某个字段的值?

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  3. python字典怎么添加值_python字典中如何添加键值对

    添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...

  4. python 如何定义空字典_python字典中如何添加键值对

    添加键值对 首先定义一个空字典 1 >>> dic={} 直接对字典中不存在的key进行赋值来添加 1 2 3 >>> dic['name']='zhangsan' ...

  5. Oracle怎么获取json类型字符串值,sql解析json格式字段 如何获取json中某个字段的值?...

    java将json数据解析为sql语句?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想起那杯水时,可惜它已经变得冰冷刺骨. 图片中是json数据,每个数据的开头都有表名称,操作类型 ...

  6. 爬虫-在请求头中添加cookie键值对 访问登陆后可见的页面

    关于cookie >笔记 >理解 cookie相当于病人手里的病历 cookie的格式 请求头中添加cookie键值对 练习-不使用cookie访问个人中心 访问人人网个人中心 结果是得到 ...

  7. 根据数组中的某个键值大小进行排序,仅支持二维数组

    /**     * 根据数组中的某个键值大小进行排序,仅支持二维数组     *     * @param array $array 排序数组     * @param string $key 键值 ...

  8. C++ 取json中的某一个值,解析json字符串

    C++ 取json中的某一个值,解析json字符串 C++编程中遇到了需要经常从json中取某一项,又不想用json库文件实现,只能靠自己封装方法 例如这个json {"date" ...

  9. es6 对象中是否有键值_干货| ES6/ES7好玩实用的特性介绍

    本文介绍一些ES6/ES7好玩实用又简单的特性,或许对写代码的效率也有一定帮助噢. ES6/ES7的出现已经有一段时间了,里面的一些新特性你们是否了解呢?本骚年将结合自身的一些使用经历介绍一些简单实用 ...

最新文章

  1. SimpliVity:我是你的完美选择,HPE!
  2. golang channel本质——共享内存
  3. 有关子数组最大累加和的算法小结
  4. eclipse导入Java文件后出现中文乱码
  5. 揭秘!阿里数据中心大幅降低成本的核心技术:混部技术
  6. 【SDL】SDL学习笔记一 SDL的子系统的初始化和退出
  7. DropDownList选中值,不存在的时候不出错的写法
  8. mysql登录之后可以写什么_MYSQL登陆完之后如何操作???(新手求助)
  9. LeerCode 题 - 14. 最长公共前缀
  10. 不常用却很有妙用的事件及方法
  11. python office库使用_看完这篇Python操作PPT总结,从此使用Python玩转Office全家桶就没有压力了!...
  12. 华为综合实验——ISIS-BGP
  13. matlab imhist与histeq函数
  14. 基于php+mysql的企业人事管理系统
  15. vue图片压缩不失真_压缩图片大小(像素)
  16. 【2017宁波联考】生成树
  17. 门急诊排队叫号系统demo的基本实现
  18. HitTest 和SubItemHitTest
  19. 个人计算机cache是什么意思,cache在计算机中的作用是什么?
  20. C语言学习——从零开始学编程(第三篇:选择与循环)

热门文章

  1. 前端开发框架:Ajax的基本入门和使用。
  2. cpp面向对象三大特性
  3. 【离散系统】传递函数和状态空间方程离散化
  4. 移动机器人定位(amcl)
  5. 计算机通信与网络安全国际会议,第一届计算机通信与网络安全国际学术会议(CCNS2020)...
  6. VVC学习之五:帧内预测之色度预测——CCLM及代码学习
  7. JS前端图片压缩上传
  8. suse linux zypper iso,SUSE Linux的zypper命令详解
  9. Python的容器:列表、元组、字典与集合
  10. 铜陵C语言培训,铜陵学院c语言程序设计报告答案