📜  遍历哈希图 - Java (1)

📅  最后修改于: 2023-12-03 15:28:28.433000             🧑  作者: Mango

遍历哈希图 - Java

哈希图是一种图结构,其中每个节点都通过哈希函数映射到一个唯一的整数。在Java中,哈希图可以通过HashMap类实现。在对哈希图进行遍历时,我们需要考虑以下几个方面:

1. 遍历所有键值对

在Java中,可以使用HashMap的entrySet()方法返回一个Set对象,该对象包含哈希图的所有键值对。可以使用迭代器遍历Set对象并输出每个键值对的键和值。以下是示例代码:

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("a", 1);
hashMap.put("b", 2);
hashMap.put("c", 3);

for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
    System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

该代码将输出以下内容:

Key: a, Value: 1
Key: b, Value: 2
Key: c, Value: 3
2. 遍历所有键或值

如果只需要遍历哈希图中的所有键或值,可以使用HashMap的keySet()或values()方法。keySet()方法返回一个Set对象,该对象包含哈希图的所有键。values()方法返回一个Collection对象,该对象包含哈希图的所有值。可以使用迭代器遍历这些集合并输出每个键或值。以下是示例代码:

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("a", 1);
hashMap.put("b", 2);
hashMap.put("c", 3);

for (String key : hashMap.keySet()) {
    System.out.println("Key: " + key);
}

for (Integer value : hashMap.values()) {
    System.out.println("Value: " + value);
}

该代码将输出以下内容:

Key: a
Key: b
Key: c
Value: 1
Value: 2
Value: 3
3. 遍历所有键或值的迭代器

如果需要以编程方式处理哈希图中的所有键或值,可以使用HashMap的keySet().iterator()或values().iterator()方法返回一个迭代器。以下是示例代码:

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("a", 1);
hashMap.put("b", 2);
hashMap.put("c", 3);

Iterator<String> keyIterator = hashMap.keySet().iterator();
Iterator<Integer> valueIterator = hashMap.values().iterator();

while (keyIterator.hasNext()) {
    String key = keyIterator.next();
    System.out.println("Key: " + key);
}

while (valueIterator.hasNext()) {
    Integer value = valueIterator.next();
    System.out.println("Value: " + value);
}

该代码将输出以下内容:

Key: a
Key: b
Key: c
Value: 1
Value: 2
Value: 3
4. 遍历所有键或值的流

从Java 8开始,可以使用流API遍历哈希图的所有键或值。可以使用HashMap的keySet().stream()或values().stream()方法返回一个流对象。以下是示例代码:

HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("a", 1);
hashMap.put("b", 2);
hashMap.put("c", 3);

hashMap.keySet().stream().forEach(key ->
        System.out.println("Key: " + key)
);

hashMap.values().stream().forEach(value ->
        System.out.println("Value: " + value)
);

该代码将输出以下内容:

Key: a
Key: b
Key: c
Value: 1
Value: 2
Value: 3

以上是在Java中遍历哈希图的不同方法。根据需求选择适合自己的方法即可。