- 浏览: 137998 次
文章分类
最新评论
map的三种遍历方法!
集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package cn.tsp2c.liubao;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/**
*
* @author Administrator
*/
public class TestMap {
public static void main(String[] args) {
Map<String, Student> map = new HashMap<String, Student>();
Student s1 = new Student("宋江", "1001", 38);
Student s2 = new Student("卢俊义", "1002", 35);
Student s3 = new Student("吴用", "1003", 34);
map.put("1001", s1);
map.put("1002", s2);
map.put("1003", s3);
Map<String, Student> subMap = new HashMap<String, Student>();
subMap.put("1008", new Student("tom", "1008", 12));
subMap.put("1009", new Student("jerry", "1009", 10));
map.putAll(subMap);
work(map);
workByKeySet(map);
workByEntry(map);
}
//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!
public static void work(Map<String, Student> map) {
Collection<Student> c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}
//利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
public static void workByKeySet(Map<String, Student> map) {
Set<String> key = map.keySet();
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map.get(s));
}
}
//比较复杂的一种遍历在这里,呵呵~~他很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
public static void workByEntry(Map<String, Student> map) {
Set<Map.Entry<String, Student>> set = map.entrySet();
for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
System.out.println(entry.getKey() + "--->" + entry.getValue());
}
}
}
class Student {
private String name;
private String id;
private int age;
public Student(String name, String id, int age) {
this.name = name;
this.id = id;
this.age = age;
}
@Override
public String toString() {
return "Student{" + "name=" + name + "id=" + id + "age=" + age + '}';
}
}
发表评论
-
java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
2013-05-13 13:13 1253主要实现把java对常用的一些数据转换成Json,以便前台的 ... -
(转载)Java Socket实战之五:使用加密协议传输对象
2013-01-07 16:38 646前面几篇博文提到了Socket中一些常用的用法,但是对于一些有 ... -
(转载)Java Socket实战之四:传输压缩对象
2013-01-07 16:28 598上一篇文章说到了用Java Socket来传输对象,但是在有 ... -
(转载)Java Socket实战之三:传输对象
2013-01-07 16:25 684前面两篇文章介绍了怎样建立Java Socket通信,这一篇 ... -
(转载)Java Socket实战之二:多线程通信
2013-01-07 16:23 1005说到怎样写一个最简单的Java Socket通信,但是在上一 ... -
(转载)Java Socket实战之一:单线程通信
2013-01-07 15:46 682现在做Java直接使用Socket的情况是越来越少,因为有很 ... -
JAVA数组的定义及使用方法
2012-12-13 11:34 776数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来 ... -
(转载)fastJson
2012-12-13 10:48 655FastJSON是一个很好的java开源json工具类库,相比 ... -
(转载)FTP文件上传与下载
2012-12-06 15:14 821实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有 ... -
ORA-01460: 转换请求无法实现或不合理
2012-11-27 17:27 3922oracle10g数据库执行数据库更新sql时报错: Cau ... -
配置TOMCAT(,JAVA_HOMECATALINA_HOME,CLASSPATH)环境变量
2012-11-18 15:42 4687配置TOMCAT(,JAVA_HOMECATALI ... -
(转载)验证码无法显示:Could not initialize class sun.awt.X1 解决方案
2012-11-16 14:41 689网站验证码突然无法显示,并报如下错误。 Caused by: ... -
(转载)linux 下tomcat 报java.lang.OutOfMemoryError: PermGen space及其解决方法
2012-11-16 11:20 631PermGen space的全称是Permanent Gene ... -
JSP内置对象
2012-11-13 15:42 5701.request对象 客户端的请求信息被封装 ... -
用Java删除文件夹里的所有文件
2012-11-11 15:27 837import java.io.File;publ ... -
通过Java几行代码截取屏幕
2012-11-11 15:25 570通过java.awt.Robot的createScreenCa ... -
oracle日期类型字段的操作
2012-10-26 09:32 693在java对oracle的操作中 ... -
验证码无法显示:Could not initialize class sun.awt.X1 解决方案
2012-10-22 11:10 1011网站验证码突然无法显示,并报如下错误。 Caused by: ... -
http协议-简介
2012-09-29 17:43 767一、简介 超文本传输 ... -
java socket编程
2012-09-29 17:41 571一,网络编程中两个 ...
相关推荐
本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...
本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和通过`entrySet()`方法。 ### 一、通过`keySet()`方法遍历`Map` #### 方法概述 `keySet()`方法返回一个包含`Map`中所有键的`Set`视图。通过...
本文介绍了Map集合的两种常用的遍历方法:使用values()方法和Iterator迭代器,使用entrySet()方法和Iterator迭代器。两种方法都可以用于遍历Map集合,但是它们之间有一些区别。在实际开发中,我们可以根据实际情况...
Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...
你知道map的遍历方法有几种吗? 那这几种的区别是什么呢? 那种更简单、高效呢? 我的资源文件将告诉你。
### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...
本文将详细介绍Java中`Map`的三种遍历方法,并探讨它们的优缺点。 1. **通过values()方法遍历** 这是最常见也是最直观的遍历方式。我们首先调用`map.values()`获取到所有值的`Collection`,然后通过迭代器遍历这个...
遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性
### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...
总结起来,Java中Map集合的遍历方法各有优缺点,选择哪种方式取决于具体需求,如是否需要键和值,是否关心遍历顺序,以及是否利用Java 8的Stream API进行更复杂的操作。在实际开发中,理解和熟练掌握这些遍历方式将...
今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,里面有Key和Value。它有两个方法:getKey()和getValue(),...
js中使用map形式存取遍历
该资源摘自: http://www.cnblogs.com/kristain/articles/2033566.html
在C++编程中,`std::map`和`std::unordered_map`是两种常见的关联容器,它们都用于存储键值对,但实现机制和性能特点有所不同。本篇文章将深入探讨这两种容器在插入、遍历和查找操作上的差异,并通过实例分析它们...
在 Java 集合框架中,`Map`、`List` 和 `Set` 是三种非常重要的数据结构,它们各自有着不同的特性和用途。 - **Map**:主要用于存储键值对(key-value pairs)。键必须是唯一的,而值可以重复。`Map` 不继承自 `...
### Map遍历方法总结 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,了解如何有效地遍历`Map`中的元素是...
数据模型: @RequestMapping(/freemarker) @Controller public class FreemarkerController { //测试1 ... model.addAttribute(name,三年二班); Student stu1 = new Student(); stu1.setName(小明); st
一般来说,第三种方法(通过增强型`for`循环遍历`Map.entrySet()`)是最为简洁和高效的,因为它能够直接访问键值对,避免了额外的`get`操作。而在只需要遍历值的情况下,则可以考虑第四种方法。掌握这些遍历技巧对于...
Map的三种遍历方式和代码展示,并且每种方式中含有多种实现途径 适合初学者参考
本文将详细介绍四种常见的遍历`Map`的方法,并对比它们的性能差异。 #### 方法一:遍历Entry Set 这是最常见的遍历方式,在大多数情况下也是最推荐使用的。当需要同时访问键和值时,可以通过遍历`Map`的`entrySet...