获取map的key和value的方法分为两种形式:

map.keySet():先获取map的key,然后根据key获取对应的value;

map…entrySet():同时查询map的key和value,只需要查询一次;

两者的性能比较可以查看map.keySet()和map.EntrySet()的比较。

以下是获取map的key和value,以及map里面的元素通过key或者value来比较大小并排序;

注意:当map的value值相等时,根据key值进行排序

public class MapSort {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put(“b”,“4”);
map.put(“a”,“5”);
map.put(“c”,“3”);
map.put(“d”,“5”);

//通过map.keySet()方法
//方法一:通过得到key的值,然后获取value;
/*for(String key : map.keySet()){
String value = map.get(key);
System.out.println(key+" “+value);
}*/
//使用迭代器,获取key;
/*Iterator iter = map.keySet().iterator();
while(iter.hasNext()){
String key=iter.next();
String value = map.get(key);
System.out.println(key+” “+value);
}*/
//通过map.entrySet()方法
//方法一:循环map里面的每一对键值对,然后获取key和value
/*for(Entry<String, String> vo : map.entrySet()){
vo.getKey();
vo.getValue();
System.out.println(vo.getKey()+” "+vo.getValue());
}*/

/*//使用迭代器,获取key
Iterator<Entry<String,String>> iter = map.entrySet().iterator();
while(iter.hasNext()){
Entry<String,String> entry = iter.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+" "+value);
}*/

//将map<String,String> 转化为ArryList,但list里面的元素为Entry<String,String>
List<Entry<String,String>> list = new ArrayList<Map.Entry<String,String>>(map.entrySet());
Collections.sort(list,new Comparator<Entry<String,String>>(){
@Override
public int compare(Entry<String, String> o1,
Entry<String, String> o2) {
int flag = o1.getValue().compareTo(o2.getValue());
if(flag==0){
return o1.getKey().compareTo(o2.getKey());
}
return flag;
}
});
//遍历list得到map里面排序后的元素
for(Entry<String, String> en : list){
System.out.println(en.getKey()+" "+en.getValue());
}

}

}

java里面获取map的key和value的方法相关推荐

  1. Java获取map中key和value的方法

    最近项目技术转型,开始使用java来写需求.需求中碰到需要获取map中key和value的地方,网络上查了下,得到了解决方法.为防止遗忘,故记录于此. java中获取map中key和value的方式有 ...

  2. JAVA 通过value获取Map中key的三种方法

    JAVA 通过value获取Map中key的三种方法 简介 方法描述 循环法 Stream方法 Apache Commons Collections的BidiMap 总结 简介 我们都知道Map是存放 ...

  3. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  4. python读取redis指定key_Python获取Redis所有Key以及内容的方法

    Python获取Redis所有Key以及内容的方法 一.获取所有Key # -*- encoding: UTF-8 -*- __author__ = "Sky" import re ...

  5. Java小知识-----Map 按Key排序和按Value排序

    Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...

  6. Java识别获取pdf中文字信息(此方法任意pdf的信息都可以拿到)

    一.举例需求(拿较难的发票识别举例) 平时工作或者开发过程中如果遇到需要识别pdf发票中信息的情况,如获取发票代码号码,开票日期,校验码等,比如下面的发票,项目中需要读取发票中信息 二.方法原理 使用 ...

  7. java中获取文件夹路径,java中获取文件或文件夹的路径方法

    获取当前类的所在工程路径; 如果不加"/" File f = new File(this.getClass().getResource("").getPath( ...

  8. new Map()详细介绍 map .set(key,value)map.sizemap.get(key)map.has(key)map.delete(key)map.clear()

    1.let map = new Map();     2.let map = new Map([[key,value],[key,value]]); //默认带初始化参数的定义 理解就是:new Ma ...

  9. ArcGIS Engine中如何获取Map中已经选择的要素呢(转)

    ArcGIS Engine中如何获取Map中已经选择的要素呢   1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的Fe ...

  10. Java中获取GBK编码汉字的拼音首字母(包括生僻字)

    Java中获取GBK编码汉字的拼音首字母(包括生僻字) 前言 代码 结果 前言 网上关于Java中获取汉字的拼音首字母的方法很多,但大多基于GB2312的汉字所属编码位置判断方法,现有一种基于GBK编 ...

最新文章

  1. 全国大学生智能车竞赛组委会秘书处与Mathworks初步讨论竞赛合作事宜
  2. Windows下更改MySQL 数据库文件存放位置
  3. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事
  4. caffe error: #error This file requires compiler and library support for the ISO C++ 2011 standard
  5. Qt 实现QT控件中的QLabel显示图片并自适应显示
  6. 嘉益仕(Litns)带您读懂MES系统:选型篇
  7. Python 爬取淘宝商品信息栏目
  8. 力扣589. N叉树的前序遍历 (JavaScript)
  9. 如何用互联网思维搞定零售业
  10. paip.提升安全性----软键盘的弱点
  11. 扫读笔好还是点读笔好 有什么区别
  12. python 人体建模_Matplotlib学习---可视化人体姿态
  13. php 遍历文件夹并压成zip_将文件夹压缩成zip文件的php代码
  14. 计算机在随机抽样上的应用,数理统计学中随机抽样的应用研究
  15. EXCEL中如何让某些行列固定不动
  16. PHP自动排班系统 源码+说明
  17. Android4.1 如何实现状态栏上信号图标有SIM卡1,2标记,并且当处于2G状态显示“G”,处于3G状态显示“3G”
  18. 物理PC机ping不通虚拟机解决方法(亲测可用)
  19. 读书笔记:《Scrum精髓 - 敏捷转型指南》
  20. 什么是Platform SDK

热门文章

  1. 2020年全球及中国干细胞医疗行业发展现状及竞争情况分析,美国领先于世界,北上广领先于中国「图」
  2. 国内薪水最高的IT公司排行榜TOP25,大家都说说你们觉得这数据准确吗,我怎么觉得不太准确。。
  3. 支付宝和微信横扫境外商户,外国人冷眼旁观
  4. ElasticSearch常用搜索关键字整理
  5. java定义一个short_JDK源码解读第七章:java.lang.Short
  6. USB大容量存储设备无法启动--这个设备(服务)的驱动程序已被禁用。另一个驱动程序可以提供这个功能。
  7. 液晶显示屏简介以及与CRT显示屏的对比
  8. AG-DST论文笔记
  9. Android应用市场和应用包名大全
  10. 9个GVP国产Java开源项目!是真滴哇塞