映射 java_Java 映射操作

Java集合教程 - Java映射操作

映射迭代

要迭代地图的键,值或条目,使用映射的keySet(),values()和entrySet它分别返回一组键,值集合和一组条目。

以下代码段显示了如何打印映射的所有键:import java.util.HashMap;

import java.util.Map;

import java.util.Set;

public class Main {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put("CSS", "style");

map.put("HTML", "mark up");

map.put("Oracle", "database");

map.put("XML", "data");

// Get the set of keys Set keys = map.keySet();

// Print all keys using the forEach() method. keys.forEach(System.out::println);

}

}

上面的代码生成以下结果。

e4556aff28513491f98867bcb3bdde3d.png

映射条目

映射中的每个键值对都称为条目。条目由Map.Entry接口的实例表示。

Map.Entry是Map接口的内部静态接口。

Map.Entry有三个方法调用getKey(),getValue()和setValue()它返回条目的键值,值,并分别在条目中设置新值。

Map的条目集上的典型迭代如下:import java.util.HashMap;

import java.util.Map;

import java.util.Set;

public class Main {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put("CSS", "style");

map.put("HTML", "mark up");

map.put("Oracle", "database");

map.put("XML", "data");

// Get the entry Set Set> entries = map.entrySet();

entries.forEach((Map.Entry entry) -> {

String key = entry.getKey();

String value = entry.getValue();

System.out.println("key=" + key + ", value=" + value);

});

}

}

上面的代码生成以下结果。

d9f51e416f0d53b99f0c31af49346e60.png

映射条目迭代

forEach(BiConsumer action)从Map界面遍历映射中的所有条目。

该方法需要一个BiConsumer实例第一个参数是键,第二个参数是值用于映射中的当前条目。import java.util.HashMap;

import java.util.Map;

public class Main {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put("CSS", "style");

map.put("HTML", "mark up");

map.put("Oracle", "database");

map.put("XML", "data");

map.forEach((String key, String value) -> {

System.out.println("key=" + key + ", value=" + value);

});

}

}

上面的代码生成以下结果。

968b083c40f2e1285a92517681eb5d3f.png

映射视图

以下代码演示了如何获取Map的三个不同视图迭代这些视图中的元素。import java.util.Collection;

import java.util.HashMap;

import java.util.Map;

import java.util.Set;

public class Main {

public static void main(String[] args) {

Map map = new HashMap<>();

map.put("CSS", "style");

map.put("HTML", "mark up");

map.put("Oracle", "database");

map.put("XML", "data");

System.out.println("Map: " + map.toString());

listValues(map);

listEntries(map);

}

public static void listKeys(Map map) {

System.out.println("Key Set:");

Set keys = map.keySet();

keys.forEach(System.out::println);

System.out.println();

}

public static void listValues(Map map) {

System.out.println("Values Collection:");

Collection values = map.values();

values.forEach(System.out::println);

System.out.println();

}

public static void listEntries(Map map) {

System.out.println("Entry Set:");

// Get the entry Set Set> entries = map.entrySet();

entries.forEach((Map.Entry entry) -> {

String key = entry.getKey();

String value = entry.getValue();

System.out.println("key=" + key + ", value=" + value);

});

}

}

上面的代码生成以下结果。

ec777bef2d5d3ce2d7ba174af93306fe.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值