HashMap集合排序方法
首先我们先来看看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集合排序方法的更多相关文章
- HashMap集合-遍历方法
# HashMap集合-遍历方法 先定义好集合: public static void main(String[] args) { Map<String,String> onemap=ne ...
- 通过写一个Demo展示C#中多种常用的集合排序方法
不多说,程序很简单,就是将集合中的数据进行排序,但使用到的知识点还是比较多的,大牛勿喷,谨献给初学者!直接上程序吧! namespace Demo { /// <summary> /// ...
- Java集合排序方法comparable和comparator的总结
一.概述Comparable和Comparator都是用来实现集合中元素的比较.排序的.Comparable是在集合内部定义的方法实现的排序,位于java.lang下.Comparator是在集合外部 ...
- Java零基础手把手系列:HashMap排序方法一网打尽
HashMap的排序在一开始学习Java的时候,比较容易晕,今天总结了一些常见的方法,一网打尽.HashMap的排序入门,看这篇文章就够了. 1. 概述 本文排序HashMap的键(key)和值(va ...
- Collections -集合排序compareTo方法重写,shuffle,addall
package cn.learn.collection.Collections; /* 排序的对象的类,实现comparable借口,重写compareto方法 若要打印必须重写toString方法, ...
- 关于自定义 List集合排序的方法!
大致流程: 排序是用到排序的接口Comparator<T>你要先建一个类实现比较器Comparator //大致流程public class StuComp implements Comp ...
- HashMap按键排序和按值排序
对map集合进行排序 今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单 ...
- 【Java进阶】---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
1 集合框架 1.1 集合框架概述 1.1.1 容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...
随机推荐
- gopub自动化发布平台安装
1.软件配置 centos7 mysql5.7.26 gopub1.1.3 2.硬件配置 4核8G aws rds aws 3.数据库配置 #这个不执行,执行下面一句 --CREATE DATABAS ...
- python 局域网文件互传
PCa: import socket Sockin = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #新建socket Sockin.bind(( ...
- python pywin32 安装
pip install pywin32 参考: https://blog.csdn.net/qq_38161040/article/details/85075158
- <cmath>库函数
C++ cmath库中的函数 今天模拟,想调用<cmath>中的函数,然鹅...突然忘了,所以还是总结一下吧 写法 作用 int abs(int i) 返回整型参数i的绝对值 double ...
- JavaWeb_(Spring框架)Spring中IoC与DI概念入门
Spring是于2003 年兴起的一个轻量级的Java 开源框架,它由Rod Johnson创建.传统J2EE应用的开发效率低,Spring作为开源的中间件,提供J2EE应用的各层的解决方案,Spri ...
- DB缓存一致性
直接硬核干货,去掉前戏. 方案大致说明 1:假设对redis中存在一对key,value的对应关系是 key=money,value=666 2:当修改线程修改key时先将key设置成value=66 ...
- 设置tomcat实现跨域
1.tomcat下自带的cors过滤器 修改tomcat路径下conf/web.xml文件 <filter> <filter-name>CorsFilter</filte ...
- spring boot处理跨域
使用重写WebMvcConfigurer的方式 @Component public class WebMvcConfig extends WebMvcConfigurationSupport { @O ...
- MISS YOU
文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论
- count(1) 与 count(*) 比较
1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count(*)的效 ...