网站首页 > java教程 正文
public class MapPractice {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "李一");
map.put(2, "李二");
map.put(3, "李三");
map.put(4, "李四");
//1、通过Map.values()遍历所有的value,但不能遍历key
for(String S:map.values()) {
System.out.println(S);
}
System.out.println("-----------");
//2、使用map.entrySet()遍历Key和value,推荐,尤其是容量大时
for(Map.Entry<Integer,String> S:map.entrySet()){
System.out.println(S.getKey() + "," +S.getValue());
}
System.out.println("-----------");
//3、通过map.keySet()遍历key和value
for(Integer S:map.keySet()) {
System.out.println(S + "," + map.get(S));
}
System.out.println("-----------");
//4、通过map.entrySet()使用iterator遍历key和value
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry<Integer,String> entry = (Map.Entry<Integer,String>) iterator.next();
System.out.println(entry.getKey() + "," + entry.getValue());
}
}
}
map.entrySet()与map.keySet()的区别:
虽然使用keyset及entryset来进行遍历能取得相同的结果,但两者的遍历速度是有差别的。
keySet():迭代后只能通过get()取key,再根据key值取value。
entrySet():迭代后可以e.getKey(),e.getValue()取key和value。
keySet()的速度比entrySet()慢了很多,也就是keySet方式遍历Map的性能不如entrySet性能好,为了提高性能,所以通常用entrySet()方式来进行遍历。
猜你喜欢
- 2024-10-26 Java8 List转Map,我卡壳了......
- 2024-10-26 HashMap 的 7 种遍历方式与性能分析!(强烈推荐)
- 2024-10-26 Java集合-- Map(Java集合类)
- 2024-10-26 js 函数式编程:不要再使用 for 循环啦,试试 map 吧
- 2024-10-26 大厂Java二面:Spring循环依赖,烂大街的问题这么答面试官才满意
- 2024-10-26 JAVA集合之 MAP和HASHMAP(java中map和hashmap)
- 2024-10-26 双列集合Map不再难懂:轻松掌握这些知识点!
- 2024-10-26 用到停不下来,Java 8 新特性:foreach 和 stream
- 2024-10-26 Go语言开发者必知必会的Map优化技巧
- 2024-10-26 计算机程序员的入门实践-Map常用的遍历方式(七)
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)