获取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<String> 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();
  }
  
  /*//使用迭代器,获取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. scala中获取Map中key和value的方法

    val scores=Map("Alice"->10,"Bob"->3,"Cindy"->8) // 获取所有的key v ...

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

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

  3. 获取Map API Key

    开发人员在基于Google Maps服务进行开发之前,需要申请一组验证过的Map API Key,这样才可以使用Google Maps服务.申请过程如下:1.在Eclipse中打开“Window”|“ ...

  4. 获取Map的key和value的两种方法

    //使用迭代器,获取key; /*Iterator<String> iter = map.keySet().iterator(); while(iter.hasNext()){ Strin ...

  5. 【Java】对Map按key和value分别排序

    一.什么是Map? 在讲解Map排序之前,我们先来稍微了解下map. map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. ...

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

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

  7. java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合

    //定义一个100元素的集合,包含A-Z List<String> list = new LinkedList<>(); for (int i =0;i<100;i++) ...

  8. 在java中获取Map集合中的key和value值

  9. js解析json,js转换json成map,获取map的key,value

    json串格式 { "10.10.11.1": { "target_1": "34.2", "target_3": &q ...

随机推荐

  1. asp.net excel导出去除科学计数法的表示格式

    去除导出excel中的科学计数法的表示格式:在td标签里面加个样式:style=\"vnd.ms-excel.numberformat:@\" <td style=\&quo ...

  2. kong API gateway

    参考:https://www.cnblogs.com/chenjinxi/p/8724564.html 一.简介 Kong,是由Mashape公司开源的,基于Nginx的API gateway. 二. ...

  3. delphi RTTI 四 获取类属性列表

    delphi RTTI 四 获取类属性列表 GetPropList(btn1.ClassInfo, tkAny, PropList) PropCount := GetTypeData(btn1.Cla ...

  4. maven eclipse操作

    目前eclipse默认集成maven插件,但要在eclipse中配置maven的setting才可以. setting可以选用mvn解压包下的目录,也可用仓库下的settings文件. 因我们需要结合 ...

  5. WDA-Web Dynpro的POWL(个人对象工作清单)

    POWL(Personal Object Worklist) for Web Dynpro 转载地址:https://blogs.sap.com/2013/02/15/powlpersonal-obj ...

  6. 如何查看一个class文件是否正确

    今天碰到了个问题,左思右想就是找不出问题,试验多个路径来解决问题,错误依旧. 然后我拿到了现场的包,一个很大的问题让我忽略了,这个class文件用反编译程序打不开(jd-gui.exe),非常神奇,但 ...

  7. python异常处理方法

    异常是指程序中的例外.违例情况,比如序列的下标越界.打开不存在的文件.空引用异常等.通过捕获异常并进行正确处理,可以提高程序的健壮性.如果没有代码处理异常,Python解释器将输出相关异常信息并终止程 ...

  8. LINUX系统一一CentOS6.5之tomcat安装

    一 准备工作建立好文件夹 tomcat文件夹地址  二 下载并解压 当然是下载了 1.centos6.5系统里面下载 解压 2.本机下载 然后利用Xftp复制到目标文件加载解压(我用的是这种,随意啦) ...

  9. (转)MySQL 获得当前日期时间 函数

    select *from High_valwhere SerialDate >= curdate() and SerialDate < date_add(curdate(), interv ...

  10. mysql 存储过程小问题

    mysql写的存储过程的一些小问题 DELIMITER $$ USE `yzhoteldb`$$ DROP PROCEDURE IF EXISTS `yz_waveData`$$ CREATE DEF ...