集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~
/*
* 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中`Map`的三种遍历方法,并探讨它们的优缺点。 1. **通过values()方法遍历** 这是最常见也是最直观的遍历方式。我们首先调用`map.values()`获取到所有值的`Collection`,然后通过迭代器遍历这个...
本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...
本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和通过`entrySet()`方法。 ### 一、通过`keySet()`方法遍历`Map` #### 方法概述 `keySet()`方法返回一个包含`Map`中所有键的`Set`视图。通过...
### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...
本文介绍了Map集合的两种常用的遍历方法:使用values()方法和Iterator迭代器,使用entrySet()方法和Iterator迭代器。两种方法都可以用于遍历Map集合,但是它们之间有一些区别。在实际开发中,我们可以根据实际情况...
### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...
总结起来,Java中Map集合的遍历方法各有优缺点,选择哪种方式取决于具体需求,如是否需要键和值,是否关心遍历顺序,以及是否利用Java 8的Stream API进行更复杂的操作。在实际开发中,理解和熟练掌握这些遍历方式将...
Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...
本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...
对于大容量的Map,推荐使用第三种方式,即通过Map.entrySet的增强for循环遍历。这种方式避免了`get`方法的二次查询,从而提高了性能。尤其是当Map实现是哈希表,如HashMap,它会将key-value对存储为Entry对象,直接...
Map是一种常用的数据结构,在Java中有多种遍历Map的方式。今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,...
在 Java 集合框架中,`Map`、`List` 和 `Set` 是三种非常重要的数据结构,它们各自有着不同的特性和用途。 - **Map**:主要用于存储键值对(key-value pairs)。键必须是唯一的,而值可以重复。`Map` 不继承自 `...
本篇文章将详细分析Java中遍历Map的四种常见方法,帮助开发者更好地理解和运用这些技巧。 1. **for-each循环遍历** Java 5引入了增强的for循环(也称为foreach循环),使得遍历Map变得非常简洁。通过`Map.entrySet...
遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性
本文将详细介绍一种在Java中循环遍历任何一个集合的通用方法,并通过示例代码来具体说明其实现过程及注意事项。 #### 1. 集合遍历的重要性 集合框架是Java中非常基础且重要的组成部分之一,它提供了存储和管理对象...
Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历方式的实现原理和优缺点。 一、迭代器遍历 迭代器遍历是Java中最基本的集合遍历方式。迭代器是一个对象,它允许...
总结,Java中遍历`Map`主要有四种方式,其中通过`Map.entrySet()`进行遍历通常被认为效率较高,尤其在`Map`容量较大的情况下。而在Java 8之后,我们可以利用Lambda表达式简化遍历操作。获取`Map`的长度直接调用`size...
Map的遍历大体有3种: 1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 ...
这篇博文主要探讨了如何遍历Java中的`Map`对象,下面将详细介绍几种常见的遍历`Map`的方法。 1. **迭代器法**: Java提供了`Map`接口的`entrySet()`方法,返回一个包含`Map`中所有键值对的`Set`视图。通过这个`Set...
总结来说,Java 8为Map遍历提供了更多现代且高效的手段,包括Lambda表达式、Stream API和`forEach()`方法,让开发者在处理Map数据结构时拥有更大的灵活性和更高的性能。这些新特性极大地提高了代码的可读性和维护性...