Java Map接口是Java集合框架中的一个重要组成部分,它是一种可以存储键值对的数据结构。Map接口中的键和值都是对象,它们之间的关系是一对一的,也就是说,一个键只能映射到一个值。Map接口有很多实现类,例如HashMap、TreeMap、LinkedHashMap等。
Map接口有很多方法,其中最常用的方法包括put()、get()、remove()、containsKey()、containsValue()、keySet()、values()和entrySet()。put()方法用于将键值对存储到Map中;get()方法用于根据键获取相应的值;remove()方法用于根据键删除相应的键值对;containsKey()方法用于判断Map中是否包含特定的键;containsValue()方法用于判断Map中是否包含特定的值;keySet()方法返回所有键的集合;values()方法返回所有值的集合;entrySet()方法返回所有键值对的集合。
// 创建map Map<String, Integer> map = new HashMap<>(); // 添加元素 map.put("apple", 1); map.put("banana", 2); // 获取元素 int value = map.get("apple"); // value = 1 // 删除元素 map.remove("apple"); // 判断是否包含特定键或者特定值 boolean containsKey = map.containsKey("apple"); // false boolean containsValue = map.containsValue(2); // true // 迭代遍历map中所有元素 for (String key : map.keySet()) { int value = map.get(key); System.out.println(key + ":" + value); } // banana:2
Map.Entry接口,可以用一个映射项工作。
由Map接口中声明的entrySet()方法返回一个包含映射条目的集。每个组元素都是一个Map.Entry对象。
通过Map.Entry的声明的方法总结如下表:
序号 | 方法描述 |
---|---|
1 | boolean equals(Object obj) 如果obj是一个Map.Entry返回true,其键和值都等于调用对象。 |
2 | Object getKey( ) 返回此映射项的键。 |
3 | Object getValue( ) 返回此映射项的值。 |
4 | int hashCode( ) 返回此映射项的哈希码。 |
5 | Object setValue(Object v) 此映射条目v的集合. 如果v是不正确的类型,映射抛出一个ClassCastException异常值。如果v是空和映射不允许null键则抛出NullPointerException异常。一个UnsupportedOperationException被抛出如果映射不能更改。 |
以下是表示Map.Entry如何使用的示例:
import java.util.*; public class HashMapDemo { public static void main(String args[]) { // Create a hash map HashMap hm = new HashMap(); // Put elements to the map hm.put("Zara", new Double(3434.34)); hm.put("Mahnaz", new Double(123.22)); hm.put("Ayan", new Double(1378.00)); hm.put("Daisy", new Double(99.22)); hm.put("Qadir", new Double(-19.08)); // Get a set of the entries Set set = hm.entrySet(); // Get an iterator Iterator i = set.iterator(); // Display elements while(i.hasNext()) { Map.Entry me = (Map.Entry)i.next(); System.out.print(me.getKey() + ": "); System.out.println(me.getValue()); } System.out.println(); // Deposit 1000 into Zara's account double balance = ((Double)hm.get("Zara")).doubleValue(); hm.put("Zara", new Double(balance + 1000)); System.out.println("Zara's new balance: " + hm.get("Zara")); } }
以上实例编译运行结果如下:
Daisy 99.22 Qadir: -19.08 Zara: 3434.34 Ayan: 1378.0 Mahnaz: 123.22 Zara's new balance: 4434.34
JSF教程 -JSF基本标签JSF提供了一个标准的HTML标签库,它们被渲染成相应的html输出。为了使用这些标签,我们需要在html节点中使...
Java contentEquals() 方法JavaString类contentEquals() 方法用于将将此字符串与指定的 StringBuffer 比较。语法public boolean ...
Java getChars() 方法JavaString类getChars() 方法将字符从字符串复制到目标字符数组。语法public void getChars(int srcBegin, ...
JSF教程 -JSF Hello World示例以下代码显示如何设置JSF开发环境。下载源代码单击以下链接下载JSF Hello World应用程序的源代码。...
JavaFX教程 -JavaFX手风琴可以使用手风琴控件对标题窗格进行分组。import javafx.application.Application;import javafx.scene....