ホームページ  >  記事  >  Java  >  Java反復マップ

Java反復マップ

王林
王林オリジナル
2024-08-30 16:07:50809ブラウズ

Iterate Map は、Map コレクションから大量のデータを抽出しています。ほとんどのリアルタイムの場合、マップ上に多くのデータが保存されます。開発者はこのデータを取得したいと考えています。彼はマップ全体を反復する必要があります。マップは util.Map パッケージに保存されます。このトピックでは、Java Iterate Map について学習します。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

3 つの方法でマップを反復処理できます。

  • それぞれ
  • 通常の for ループ
  • イテレータによるループ中

地図とは何ですか?

1.マップは、キーと値のペアで構造化されたコレクションです。地図はインターフェースです。したがって、Map は

に実装されました
  • ハッシュマップ
  • リンクされたハッシュマップ
  • ツリーマップ

2. EntryはMapのサブインターフェースです。したがって、エントリ名でアクセスできます。マップのコレクションビューを返しました。地図。このエントリは、キーと値のペアを取得するメソッドを提供します。

重要な方法

  • put(Object keyValue, Object objectValue): マップに値を挿入します。
  • keySet(): キーペアセットを取得するために使用されます。
  • entrySet(): マップにキーと値を設定するために使用されます。
  • size(): マップのサイズを取得するために使用されます。
  • getKey(): キー値を取得するために使用されます。
  • getValue(): キーマップされた値を取得するために使用されます。

マップでの反復はどのように機能しますか?

上で説明したように、Map は forEach、通常の for、while ループで反復できます。構文で理解していきます。

1.それぞれ

構文:

Map<DataType, DataType>map = new HashMap<DataType, DataType>();
map.forEach((key, value) -> //logic

2.の場合は、entrySet()

を使用します

構文:

Map<DataType,DataType> map= new HashMap<DataType,DataType>();
for (Map.Entry<DataType,DataType> set: map.entrySet())
//logic
}

3.イテレータを使用した While ループ

構文:

Map<String, String> mapObj = new HashMap<>();
Iterator iterator= mapObj .entrySet().iterator();
while (iterator.hasNext()) {
//logic
}

要件に基づいて、上記のいずれかの方法でマップを反復できます。

Java 反復マップの例

以下に例を示します:

1. forEach を使用したマップ反復の例

コード:

import java.util.HashMap;
import java.util.Map;
public class ForEachMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating key and value with forEach loop
names.forEach((key, value) -> {
System.out.println("ID =>" + key + " Name => " + value);
});
}
}

出力:

Java反復マップ

説明:

上記のコードでわかるように、forEach

を使用してマップを繰り返しました。

2. forEach ループを使用してキーと値の反復を個別にマップします。 例

コード:

package com.map;
import java.util.HashMap;
import java.util.Map;
public class ForEachKeyValueMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating ids with forEach loop
names.forEach((key, value) -> {
System.out.println("ID =>" + key);
});
// iterating names with forEach loop
names.forEach((key, value) -> {
System.out.println("Name => " + value);
});
}
}

出力:

Java反復マップ

説明:

上記の出力でわかるように、forEach ループを使用してキーと値を個別にフェッチすることもできます。

3. for ループを使用したマップ反復の例

コード:

<strong> </strong>import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ForMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating key and value with for loop
for (Entry<Integer, String> entry : names.entrySet())
System.out.println("ID => " + entry.getKey() + " Name => " + entry.getValue());
}
}

出力:

Java反復マップ

説明:

上記のコードでわかるように、for ループを使用してマップを繰り返しました。

4. for ループの例

を使用して、キーと値の反復を個別にマップします。

コード:

<strong> </strong>import java.util.HashMap;
import java.util.Map;
public class ForKeyAndValueMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
//fetching ids
for (Integer id : names.keySet())
System.out.println("ID => " + id);
// fetching names
for (String name : names.values())
System.out.println("Name => " + name);
}
}

出力:

Java反復マップ

説明:

上記の出力でわかるように、for ループを使用してキーと値を個別にフェッチすることもできます。

5. while ループとイテレータを使用したマップ反復の例

コード:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class WhileIteratorLoopMap {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
//get entry set from map
Set set = names.entrySet();
//get iterator from set
Iterator iterator = set.iterator();
//fetching id and names with while loop
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
System.out.println("ID =>"+entry.getKey() + " Name => " + entry.getValue());
}
}
}

出力:

Java反復マップ

説明:

上記のコードでわかるように、イテレーターと while ループを使用してマップを反復処理しました。

注: すべてのケースで同じ出力が生成されますが、開発には実行時間が短い forEach ループをお勧めします。

結論 – Java 反復マップ

Entry インターフェースから for ループ、forEach ループ、while ループを使用してマップを反復処理できます。キーと値をエラーなく個別に反復処理することもできます。

以上がJava反復マップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。