首先我们先来看看Map集合获取元素的三种常见方法(1)entrySet(),(2)keySet(),(3)values()

1. entrySet():(1)先返回map集合的所有"映射"的Set集合,这里规范每个"映射"的类型为Map.Entry<K, V>
        (2)再通过迭代取出所有的“映射”,再利用getKey()、getValue()方法获取相应键、值。

 import java.util.*;

  public class Main{
public static void main(String[] args){
Map<String, String> map = new HashMap<String, String>(); //构建键值对为<String, String>的Map集合
map.put("a", "aaa");
map.put("b", "bbb");
map.put("c", "ccc"); Set<Map.Entry<String, String>> entrySet = map.entrySet(); //先得到map集合的所有"映射"的Set集合,这里规范每个映射的类型为Map.Entry<K, V>
Iterator<Map.Entry<String, String>> iter = entrySet.iterator(); //再得到entrySet集合的迭代器,Map.Entry<K, V>为迭代元素的类型
while(iter.hasNext()){
Map.Entry<String, String> item = iter.next();
String key = item.getKey();
String value = item.getValue();
System.out.println("key:" + key + "-->value:" + value);
}
/*
for(Map.Entry<String, String> item: entrySet){
String key = item.getKey();
String value = item.getValue();
System.out.println("key:" + key + "-->value:" + value);
}
*/
}
} 运行结果
key:b-->value:bbb
key:c-->value:ccc
key:a-->value:aaa

2. keySet():(1)第一步、先返回map集合的所有键的Set集合
         (2)第二步、再通过迭代取出所有key,再利用get()方法获取value, for(类型 元素: 集合) 的本质是获取集合的迭代器进行迭代

import java.util.*;

  public class Main{
public static void main(String[] args){
Map<String, String> map = new HashMap<String, String>(); //构建键值对为<String, String>的Map集合
map.put("a", "aaa");
map.put("b", "bbb");
map.put("c", "ccc"); Set<String> keySet = map.keySet(); //先获取map集合的所有键的Set集合
Iterator<String> iter = keySet.iterator(); //再得到keySet集合的迭代器
while(iter.hasNext()){
String key = iter.next();
String value = map.get(key);
System.out.println("key:" + key + "-->value:" + value);
}
/*
for(String key: keySet){
String value = map.get(key);
System.out.println("key:" + key + "-->value:" + value);
}
*/
}
} 运行结果
key:b-->value:bbb
key:c-->value:ccc
key:a-->value:aaa
```

3. values():返回map集合的所有value的Collection集合(在集合中无序存放)

import java.util.*;

  public class Main{``
public static void main(String[] args){
Map<String, String> map = new HashMap<String, String>(); //先构造键值对为<String, String>的Map集合
map.put("a", "aaa");
map.put("b", "bbb");
map.put("c", "ccc"); Collection<String> collection = map.values(); //再得到map集合的所有value的Collection集合
System.out.println(collection);
}
} // 运行结果
// [bbb, ccc, aaa]

欢迎大家浏览,也希望对各位能有所帮助。

HashMap集合排序方法的更多相关文章

  1. HashMap集合-遍历方法

    # HashMap集合-遍历方法 先定义好集合: public static void main(String[] args) { Map<String,String> onemap=ne ...

  2. 通过写一个Demo展示C#中多种常用的集合排序方法

    不多说,程序很简单,就是将集合中的数据进行排序,但使用到的知识点还是比较多的,大牛勿喷,谨献给初学者!直接上程序吧! namespace Demo { /// <summary> /// ...

  3. Java集合排序方法comparable和comparator的总结

    一.概述Comparable和Comparator都是用来实现集合中元素的比较.排序的.Comparable是在集合内部定义的方法实现的排序,位于java.lang下.Comparator是在集合外部 ...

  4. Java零基础手把手系列:HashMap排序方法一网打尽

    HashMap的排序在一开始学习Java的时候,比较容易晕,今天总结了一些常见的方法,一网打尽.HashMap的排序入门,看这篇文章就够了. 1. 概述 本文排序HashMap的键(key)和值(va ...

  5. Collections -集合排序compareTo方法重写,shuffle,addall

    package cn.learn.collection.Collections; /* 排序的对象的类,实现comparable借口,重写compareto方法 若要打印必须重写toString方法, ...

  6. 关于自定义 List集合排序的方法!

    大致流程: 排序是用到排序的接口Comparator<T>你要先建一个类实现比较器Comparator //大致流程public class StuComp implements Comp ...

  7. HashMap按键排序和按值排序

    对map集合进行排序   今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单 ...

  8. 【Java进阶】---map集合排序

    map集合排序         这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题.   比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...

  9. Java集合排序及java集合类详解--(Collection, List, Set, Map)

    1         集合框架 1.1         集合框架概述 1.1.1         容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...

随机推荐

  1. 参数类型 (@Controller层)

    @RequestMapping(path = "/listPage")@SuppressWarnings("unchecked")@BussinessLog(v ...

  2. 【luoguP1840】 Color the Axis_NOI导刊2011提高(05)

    题目描述 在一条数轴上有N个点,分别是1—N.一开始所有的点都被染成黑色.接着我们进行M次操作,第i次操作将[Li,Ri]这些点染成白色.请输出每个操作执行后剩余黑色点的个数. 输入格式 输入一行为N ...

  3. 如何用 Windows Live Writer 和 Word 2013 分别发表博客到Cnblog 和CSDN

    ps CSDN 老是505错误,放弃了 为什么会写这篇 最近写博客在 Cnblog 上面写博客, 发现图片不能复制了直接粘贴上,这对于把博客当随手笔记的人来说无疑非常痛苦.求助于博客园,他们让我用 W ...

  4. fatal: unable to access 'https://github.com/Homebrew/brew/'

    最近安装 Homebrew 遇到的坑,总结一下. 我的 Mac 版本是 10.13.6. 首先安装 Homebrew /usr/bin/ruby -e "$(curl -fsSL https ...

  5. Maven Web项目出现org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException错误

    1. 问题描述 初学Maven,新建了一个基于Web骨架的Web项目,jar 包也导好了,作用域也设置正确了,Tomcat也正常运行了,可是就是说编译错误. 2. 问题原因 虽然我配置了Tomcat ...

  6. HearthBuddy Ai 调试实战2 在使用海巨人的时候,少召唤了一个图腾(费用是对的)

    问题 游戏面板 8是青玉之爪13是海巨人17是恐狼前锋 64是萨满 66是圣骑士63,99,46,是微型木乃伊[其中99和46都是2血3攻,63是2血1攻]57是鱼人木乃伊 微型木乃伊 "L ...

  7. 自己动手写Android插件化框架

    自己动手写Android插件化框架 转 http://www.imooc.com/article/details/id/252238   最近在工作中接触到了Android插件内的开发,发现自己这种技 ...

  8. Android:动态库(.so)调试技巧

    一.反汇编定位crash ①查看crash log: 上图已标出crash发生在 libdeflicker_gpu.so 库中的 default_fail_func() 函数,但是 libdeflic ...

  9. Qt编写安防视频监控系统8-双击节点

    一.前言 在所有的视频监控系统中,双击摄像机的节点,对应摄像机加载到当前焦点通道显示,这个都是必须具备的功能,还有一些厂家会做双击NVR节点,自动加载该NVR下的所有摄像机全部显示,从通道1开始到通道 ...

  10. Centos D-Bus connection: Operation not permitted

    解决办法: 首先要先在后台启动一个 CentOS7 容器(注意不要少参数): docker run -d -e "container=docker" --privileged=tr ...