ハッシュマップの反復方法は何ですか?
HashMapのループ方法には以下のいくつかの種類があります:
- HashMapをイテレータで処理する:HashMapのイテレータを取得して、whileループとイテレータのnext()メソッドを使用して、全体のHashMapを処理します。
HashMap<String, Integer> hashMap = new HashMap<>();
// 添加元素到HashMap...
Iterator<Map.Entry<String, Integer>> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
// 处理每个键值对
}
- For-Eachループを使用して繰り返し処理を行います:HashMapのentrySet()メソッドを直接使用して、キーと値のペアのコレクションを取得し、For-Eachループで繰り返し処理を行います。
HashMap<String, Integer> hashMap = new HashMap<>();
// 添加元素到HashMap...
for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
// 处理每个键值对
}
- Java 8のLambda式を使用して、HashMapを簡潔にループする方法は、HashMapのforEach()メソッドとLambda式を組み合わせることです。
HashMap<String, Integer> hashMap = new HashMap<>();
// 添加元素到HashMap...
hashMap.forEach((key, value) -> {
// 处理每个键值对
});
HashMapのイテレーション順序は固定されていませんので注意が必要です。HashMapは要素の順序を保証しないため、特定の順序でHashMapをイテレートする必要がある場合は、挿入順序やアクセス順序でソートされる LinkedHashMap などの Map 実装クラスを考慮することをお勧めします。