`
weitao1026
  • 浏览: 1047574 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java里面获取map的key和value的方法

 
阅读更多

获取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();
   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的方法

    在上面的代码中,我们使用entrySet()方法获取了Map中的所有键值对,然后遍历每个键值对获取Key和Value。 三、使用迭代器获取Key和Value 使用迭代器可以遍历Map中的每个Key或每个键值对。下面是一个简单的示例代码...

    嵌套Map或者List获取key、value值

    在编程中,尤其是在Java或类似的面向对象语言中,我们经常遇到需要处理复杂数据结构的情况,如嵌套的Map和List。这些数据结构可以提供灵活的方式来存储和操作数据,特别是当数据具有层次关系时。本篇将详细介绍如何...

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    对Map的key和value进行排序

    对Map的key和value进行排序是Java编程中非常重要的一部分。Map是Java集合框架中的一种数据结构,用于存储键值对。然而,在实际应用中,我们经常需要对Map中的key或value进行排序,以满足特定的业务需求。 对Map中的...

    Java 遍历取出Map集合key-value数据的4种方法

    Java 遍历取出Map集合key-value数据的4种方法 在Java中,Map集合是一种常用的数据结构,用于存储键值对数据。但是,在实际开发中,我们经常需要遍历取出Map集合中的键值数据。本文将介绍四种遍历取出Map集合key-...

    map key and value

    map、 key' 和 value 的 取值 and so on

    对Map按key和value分别排序

    摘要:本文主要介绍了 Map 按 key 和 value 分别排序的方法,包括使用 TreeMap 的 key 排序和 value 排序两种方式。 Map 按 key 排序 Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及...

    Java Map如何根据key取value以及不指定key取出所有的value

    - **获取Map大小:** 使用`size()`方法获取Map中键值对的数量。 在实际开发中,选择合适的方法取决于你的需求。如果你只需要获取某个特定key的value,`get()`方法最直接;如果你需要遍历所有value,`values()`可能...

    js 重写Array 类似map key,value结构

    javaScript,重写Array 类似java map的key,value键值对结构

    Java Map 通过 key 或者 value 过滤的实例代码

    Java Map 通过 key 或者 value 过滤的实例代码 Java Map 是一种常用的数据结构,用于存储键值对数据。在实际开发中,我们经常需要对 Map 中的数据进行过滤,以满足特定的业务需求。今天,我们将讨论如何使用 Java ...

    java8 stream 操作map根据key或者value排序的实现

    Java8 Stream 操作 Map 根据 Key 或 Value 排序的实现 Java8 中的 Stream 操作为开发者提供了简洁高效的数据处理方式,今天我们将介绍如何使用 Java8 Stream 操作 Map 根据 Key 或 Value 排序的实现。 Map 根据 ...

    根据map值获取key.txt

    ### 根据 Map 值获取 Key 的方法解析 在 Java 编程语言中,`Map` 是一种非常常见的数据结构,它通过键值对的形式存储数据,其中键(Key)是唯一的,而值(Value)可以有多个相同的实例。在实际开发过程中,我们经常...

    Java操作Redis,实现String、List、Map的set和get

    本文将深入探讨如何使用Java来操作Redis,包括设置和获取String、List和Map类型的数据,并且会介绍如何进行封装和单元测试。 首先,要与Redis进行交互,我们需要引入Jedis库,这是Java最常用的Redis客户端。在你的...

    java程序员面试题

    HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。 最大的不同是,...

    java xml和map互转

    在Java编程中,XML(可扩展标记语言)是一种用于存储和传输数据的标准化格式,而Map是Java集合框架中的一个重要接口,它提供了键值对的数据结构。将XML与Map进行互转是常见的需求,特别是在处理配置文件或者进行数据...

    HashMap通过VALUE反向求KEY的方法

    每个Map.Entry对象代表一个键值对,并提供了`getValue()`和`getKey()`方法,分别用于获取键和值。为了找到与给定值相匹配的键,我们遍历这个Set集合,比较每个Entry的值与目标值是否相等。如果相等,就将对应的键...

    Java实现过滤掉map集合中key或value为空的值示例

    对于每个键,我们可以通过map.get()方法获取对应的值,然后进行判断和处理。 判断空值 在判断空值时,我们需要考虑到多种情况。首先,我们需要判断键是否为空。如果键为空,我们就将其移除 khỏimap中。其次,我们...

    HashMap根据value获取key值

    Map集合的特性:一个key值对应一个value值,key值保持着唯一性,而插入的键值对相同key值会发生覆盖原key值对应的value值。 Map集合中一个key对应一个value,但是一个相同的value值可以对应多个key值 下面我们来根据...

    java中Map的两种遍历方法

    接下来,使用`Iterator`迭代器遍历这些映射关系,并直接从`Map.Entry`对象中获取键和值,最后输出键值对。 ### 总结与对比 通过以上分析,我们可以看到,无论是通过`keySet()`还是`entrySet()`遍历`Map`,都能有效...

    java中set、list和map的使用方法实例

    // map对象容器里面储存的元素是(key,value)形式的键值对,比如(a,1)(b,20)(c,55) // key不可以重复,value可以重复 // 常用的map接口的实现类有HashMap,LinkedHashMap和TreeMap // HashMap不保证集合中元素的顺序,...

Global site tag (gtag.js) - Google Analytics