/*
* 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);
}
<font style="COLOR: #ff0000">//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!
</font> 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());
}
}
<font style="COLOR: #ff0000">//利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
</font> 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 + '}';
}
}
分享到:
相关推荐
对于Map取值,你可以使用`get`方法: ```java String key = "exampleKey"; Object value = jsonData.get(key); ``` 如果值是另一个JSON对象或数组,你需要再次进行类型转换。例如,如果`value`是一个`Map`,你可以...
在编程中,尤其是在Java或类似的面向对象语言中,我们经常遇到需要处理复杂数据结构的情况,如嵌套的Map和List。这些数据结构可以提供灵活的方式来存储和操作数据,特别是当数据具有层次关系时。本篇将详细介绍如何...
3. 从 Map 中取值 可以使用 `get()` 方法从 Map 中获取指定键对应的值。例如:`String str = map.get("sa").toString();` 4. 遍历一个 Map 遍历 Map 集合有多种方式,例如使用 `keySet()` 方法获取所有键,使用 `...
在Java中,将JSON字符串转换为Map或List是常见的操作,这在处理服务器返回的数据或者进行数据序列化时非常有用。 JSON字符串的结构主要包括对象(键值对的集合,用花括号{}包围)和数组(有序元素的集合,用方括号...
其他类型则直接从Map中取值并设置。注意,这个函数只处理了声明在类自身(不包括继承的字段)的字段,如果需要处理继承的字段,需要结合`getFields()`方法。 通过这种方式,我们可以灵活地将Map转换为任意Java对象...
在Java编程中,`Hashtable` 是一个古老的容器类,它继承自 `Dictionary` 类,并实现了 `Map` 接口。`Hashtable` 不允许存储 `null` 键和 `null` 值,且它是线程安全的。在使用 `Hashtable` 进行遍历时,可能会遇到一...
本篇文档详细介绍了如何在JSTL中遍历Map和List,并通过EL表达式访问和取值。 首先,让我们了解一下JSTL的基本概念。JSTL定义了几种标签库,如核心标签库、格式化标签库、SQL标签库和XML标签库。核心标签库是最常用...
map、 key' 和 value 的 取值 and so on
Java 集合框架是 Java 语言的一个重要组件,提供了一些预定义的集合类,例如 List、Set 和 Map。这些集合类可以用于存储和操作大量数据,提高程序的效率和可读性。 八、Java 泛型 Java 泛型是一种类型参数化机制,...
在IT行业中,Ibatis是一个非常流行的Java持久层框架,它为开发者提供了灵活的SQL映射功能,使得数据库操作与业务逻辑解耦合。本篇文章将深入探讨Ibatis在开发过程中遇到的取值问题,以及“##”符号在其中的作用。 ...
- **包**:Java中的包是命名空间,用来组织相关的类和接口,如`java.lang`, `java.util`等。 - **import语句**:引入其他包中的类或接口,方便在程序中使用。 4. **数组**: - **一维数组**:用于存储同类型的...
Java集合框架提供了处理对象集合的接口和类,如Collection、List(包括ArrayList和LinkedList)、Set(如HashSet和TreeSet)、Map(如HashMap和TreeMap)等。Queue和Deque接口用于表示队列和双端队列数据结构,支持...
Map接口是Java集合类中的一种特殊接口,以键值对的形式存储数据。Map接口有两个常用的实现类:HashMap和Hashtable。HashMap是以哈希表的形式存储键值对,速度快,但不允许键值对重复。Hashtable是Dictionary类的替代...
基本数据类型的大小、取值范围和二进制位数是Java程序设计中必须要了解的基础知识。 除了上述基础知识点,Java集合框架是处理数据结构的重要组成部分,它提供了通用的数据结构如List、Set、Map等,还提供了遍历集合...
这样的处理方式极大地简化了原始的JSON处理过程,不需要手动将JSON中的列表取出转为JSONArray,然后再把列表中的对象转化为map,最后取值。而fastjson库提供的方法使得我们能够直接进行这些操作,代码更加简洁明了。...
### Java开发中的常用小技巧详解 #### JDBC使用技巧与注意事项 **1. 使用PreparedStatement代替Statement** 在Java中,利用JDBC操作数据库时,我们经常需要动态构建SQL语句。直接使用`Statement`来构建这样的SQL...
然而,Java去除了C++中一些复杂且容易导致错误的功能,例如操作符重载、多继承和自动类型转换。此外,Java采用引用而非指针的方式处理内存,简化了内存管理。 #### 4. Java基本数据类型 Java支持多种基本数据类型,...
Java连连看是一款基于Java编程语言开发的小游戏,旨在让学生在实践中学习和掌握Java编程的基本概念和技能。通过编写连连看程序,开发者能够提升对Java图形用户界面(GUI)、多线程编程、文件操作、网络编程以及...