Java 的 Map 是什么?
地图
地图是一种以唯一键和值对进行管理的数据结构。根据不同的语言,它被称为字典、哈希或关联数组。
键是地图的一个重要特征,它存储有意义的信息。
首先让我们试着写下来…
Main.java 的中文翻译选项:主程序.java
package com.company;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
var map = new HashMap<String, String>(Map.of("Rose", "バラ",
"Sunflower", "ひまわり", "Morning Glory", "あさがお"));
// 指定のキーが含まれているかを検索
System.out.println(map.containsKey("Rose")); // 結果 : true
// 指定の値が含まれているかを検索
System.out.println(map.containsValue("バラ")); // 結果 : true
// マップの中身が空かを検索
System.out.println(map.isEmpty()); // 結果 : false
// すべてのキーを取得
for (var key : map.keySet()) {
System.out.println(key); // 結果 : Rose, Sunflower, Morning Glory
}
// すべての値を取得
for (var value : map.values()) {
System.out.println(value); // 結果 : バラ、ひまわり、あさがお
}
// 指定のキーの値をvalueに置き換え
map.replace("Rose", "薔薇");
// 指定のキーkey/値oldがある場合、その値をnewに置き換え
map.replace("Sunflower", "ひまわり", "向日葵");
for (var entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
// // 結果 : Rose:薔薇、 Sunflower:向日葵、 Morning Glory:あさがお
}
}
}
执行结果
true
true
false
Rose
Sunflower
Morning Glory
バラ
ひまわり
あさがお
Rose:薔薇
Sunflower:向日葵
Morning Glory:あさがお
请注意,地图不能直接传递给扩展for命令。要枚举键/值,请使用keySet/values方法来获取键/值的集合。
或者,您也可以使用entrySet方法来获取地图条目(Map.Entry)的集合。
在这种情况下,您可以通过entry.getKey/entry.getValue方法访问键/值。
添加数值并在日志中进行获取的示例
主要是Java文件
package com.company;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
var key1 = Integer.valueOf(1);
var key2 = Integer.valueOf(2);
var key3 = Integer.valueOf(3);
var key4 = Integer.valueOf(4);
var data = new HashMap<Integer, String>() {
{
// pub(K key, V value) 指定のキー/値の要素を追加
put(key1, "Apple");
put(key2, "Google");
put(key3, "FaceBook");
put(key4, "Amazon");
}
};
System.out.println(data.get(key1)); // 指定のキーの値を取得
System.out.println(data.getOrDefault(key2, "Google")); // 指定のキーの値を取得
System.out.println(data.entrySet()); // すべて要素を取得
System.out.println(data.keySet()); // すべてのキーを取得
System.out.println(data.size()); // マップの要素数を取得
System.out.println(data.values()); // すべての値を取得
}
}
执行结果
Apple
Google
[1=Apple, 2=Google, 3=FaceBook, 4=Amazon]
[1, 2, 3, 4]
4
[Apple, Google, FaceBook, Amazon]