HashMap:管理单个键的多个值
问题:
是否可以在 HashMap 中存储和检索与同一键关联的多个值?如果是这样,我如何访问第一个键的第三个值?
答案:
虽然标准 HashMap 无法存储重复的键,但可以实现类似 HashMap 的结构,允许使用列表映射为单个键提供多个值。这是一个简单的 Java 解决方案:
<code class="java">import java.util.HashMap; import java.util.ArrayList; public class MultiValueMapDemo { public static void main(String[] args) { // Create a Map of List to store key-value pairs Map<Object, ArrayList<Object>> multiMap = new HashMap<>(); // Add key-value pairs multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value1"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value2"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value3"); // Get the third value for the first key Object thirdValue = multiMap.get("keyA").get(2); System.out.println("Third value for keyA: " + thirdValue); } }</code>
此方法创建一个 HashMap,其中与键关联的值存储在列表中。要访问特定值,可以对从 HashMap 检索的 List 对象使用 get() 方法。在此示例中,使用 multiMap.get("keyA").get(2).
访问键“keyA”的第三个值以上是如何在 HashMap 中存储和检索与同一键关联的多个值?的详细内容。更多信息请关注PHP中文网其他相关文章!