ループを使用してハッシュマップを反復処理する方法
出典:
FreeCodeCamp このチュートリアルでは、Java でさまざまなタイプのループを使用してハッシュマップを反復処理する方法を詳しく説明します。 ハッシュマップは、データをキーと値のペアで保存するために使用されるデータ構造です。Java、Python、JavaScript など、多くのプログラミング言語で広く使用されています。
ハッシュマップの反復は 、開発者が頻繁に実行する一般的な操作です。ほとんどの場合、その手順は非常に簡単です。まずハッシュマップを開始し、次にイテレータを使用してそれを反復処理し、最後に結果を表示します。
Java で For-each ループを使用してハッシュマップを反復処理する方法
ハッシュマップを反復処理する最も簡単な方法の 1 つは、
for-eachループを使用することです。その方法の例を次に示します。
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
この例では、まず新しい
ハッシュマップを作成し、それにいくつかのキーと値のペアを追加します。
次に、 for-eachループを使用して
Hashmap を反復処理し、各キーと値のペアを
Map.Entryオブジェクトとして取得します。
次に、各Map.Entryオブジェクトからキーと値を抽出し、コンソールに出力します。
Java でイテレータを含む while ループを使用してハッシュマップを反復処理する方法
ハッシュマップを反復処理するもう 1 つの方法は、反復子で
whileループを使用することです。これを行う方法の例を次に示します。
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
ここでも、新しい
ハッシュマップを作成し、それにいくつかのキーと値のペアを追加します。
次に、 entrySet()メソッドを使用して新しい
Iteratorオブジェクトを作成します。このメソッドは、キーと値のペアのセットを
Map.Entryオブジェクトとして返します。
次に、 hasNext() メソッドと
next()メソッドで while ループを使用して、セットを反復処理し、各キーと値のペアを抽出します。
最後に、各Map.Entryオブジェクトからキーと値を抽出し、コンソールに出力します。
keySet() で for ループを使用して Java ハッシュマップを反復処理する方法
Java では、 keySet()メソッドは、
Hashmapに含まれるキーのセット表現を返す
java.util.HashMapクラスのメソッドです。
これは、 Hashmap内のすべてのキーのセットを返し、これを使用してキーを反復処理したり、キーに対して他の操作を実行したりできることを意味します。keySet
()メソッドが重複のない一意の要素のセットを返すのは、ハッシュマップ内のキーが一意である必要があり、
keySet()メソッドが返すキー セットに重複した値が含まれていないことを保証するためです。
keySet()メソッドの
forループを使用して
ハッシュマップを反復処理することもできます。これを行う方法の例を次に示します。
ashMap<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
この例では、再度新しい
ハッシュマップを作成し、それにいくつかのキーと値のペアを追加します。
次に、 keySet()メソッドで
forループを使用して
Hashmap を反復処理し、各キーを抽出し、それを使用して
Hashmapから対応する値を取得します。次に、キーと値をコンソールに出力します。
結論
この記事では、さまざまなタイプのループを使用してハッシュマップを反復処理する 3 つの方法を学習しました。
これらのガイドラインに従うことで、ハッシュマップやその他のデータ構造をより適切に操作できるようになります。反復中に
ハッシュマップを変更すると予期しない結果が生じる可能性があるため、可能であれば避けてください。
Java の Void と Null を例とともに理解する
出典:
Mediumこのガイドでは、 VoidとNullの違いと、それらの使用方法の例をいくつか説明します。 Java プログラミング言語では、非常によく使用される 2 つのキーワード、
Voidと
Nullがあります。どちらも欠席を示すために使用されますが、文脈が異なります。さらに、それらの使用法と動作は互いに異なります。
空所
Java では、値が存在しないことを示すために
Voidキーワードが使用されます。通常、値を返さないメソッドの戻り値の型として使用されます。
Voidメソッドは、コンソールへの出力やオブジェクトの状態の変更などの副作用のために実行されます。
Voidメソッドの例を次に示します。
public void printMessage(String message) {
System.out.println(message);
}
この例では、
printMessageメソッドは message という名前の文字列引数を受け取り、 System.out.println()メソッドを使用してそれをコンソールに出力します。メソッドの戻り値の型は
Voidです。これは、メソッドが値を返さないことを意味します。
ヌル
Null は、オブジェクトへの参照がないことを示すために使用されます。Java では変数を初期化するため、またはオブジェクトが存在しないことを示すためによく使用されます。
Nullは Java のキーワードではなく、任意のオブジェクト参照変数に割り当てることができるリテラル値を表す予約語です。
Nullを使用して変数を初期化する 例を次に示します。
String message = null;
この例では、メッセージ変数は
Nullに初期化されます。これは、メモリ内のオブジェクトを指していないことを意味します。
VoidとNullの違いは何ですか
Voidと
Nullの主な違いは、
Void は値の不在を表すのに対し、Null
はオブジェクト参照の不在を表すことです。
Void は値を返さないメソッドを宣言するために使用され、
Nullは変数を初期化するか、オブジェクトが存在しないことを示すために使用されます。
Voidと
Nullのもう 1 つの違いは、
Void はJava のキーワードであり、
Nullは予約語であることです。
Void は、データを含まないジェネリック型を表す
Void<T>などのジェネリック型を宣言するために Java でも使用されます。さらに、
Void はメソッドの戻り値の型としてのみ使用できますが、
Null は任意のオブジェクト参照変数に割り当てることができます。
結論
Voidと
Null は、Java プログラミング言語における重要な概念です。
Void は値が存在しないことを表し、値を返さないメソッドの戻り値の型として一般的に使用されます。一方、
Null はオブジェクトへの参照がないことを表し、通常、変数を初期化するか、オブジェクトが存在しないことを示すために使用されます。
Voidと
Nullの違いを明確に理解することで、より効率的なコードを作成できます。
GO TO FULL VERSION