Java でのマップフィルタリング
Java プログラミング言語でマップ値をフィルタリングする方法を学習します。このタスクを実行する方法は 2つあります。それらを見てみましょう。
Java でのマップフィルタリング
マップのフィルタリングに使用できる 2つのメソッドは、entrySet()
と getKey()
です。最初のメソッド entrySet()
では、値を使用してマップをフィルタリングします。
2 番目のメソッド getKey()
では、完全なキーと値のペアを使用します。メソッドはやや複雑で、複数の変換が含まれます。
entrySet()
entryset()
メソッドは値を返します。値を挿入して、その値がマップに存在するかどうかを確認できます。次のコードを見てください。
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String result = "";
Map<Integer, String> Country = new HashMap<>();
Country.put(1, "Canada"); // Inserting Value
Country.put(2, "UnitedStates"); // Inserting Value
Country.put(3, "UnitedKingdom"); // Inserting Value
Country.put(4, "Argentina"); // Inserting Value
// Map -> Stream -> Filter -> String //Filter Using Map Value
result = Country.entrySet()
.stream()
.filter(map -> "Argentina".equals(map.getValue()))
.map(map -> map.getValue())
.collect(Collectors.joining());
System.out.println("Filtered Value Is ::" + result);
}
}
出力:
Filtered Value Is ::Argentina
値をフィルタリングするコード行はかなり長いです。上記のように、値を Map
から Stream
に変換します。次に、そのストリームをフィルタリングし、フィルタリングされた値を文字列内に格納します。stream
メソッドは、セットをストリームに変換します。filter
メソッドは、マップから値をフィルタリングします。
getKey()
getKey()
メソッドは、完全なキーと値のペアを返します。値を一致させる代わりに、そのキーを使用して値を取り出します。完全にフィルタリングされたキーと値のペアは、別のマップ内に保存され、後で出力されます。次のコードを見てください。
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String result = "";
Map<Integer, String> Country = new HashMap<>();
Country.put(1, "Canada"); // Inseting Value
Country.put(2, "UnitedStates"); // Inserting Value
Country.put(3, "UnitedKingdom"); // Inserting Value
Country.put(4, "Argentina"); // Inserting Value
// Filter Using Map Value
Map<Integer, String> pair =
Country.entrySet()
.stream()
.filter(map -> map.getKey().intValue() == 1)
.collect(Collectors.toMap(map -> map.getKey(), map -> map.getValue()));
System.out.println("Pair Is : " + pair);
}
}
出力:
Pair Is : {1=Canada}
概念を具体的に理解するには、次のリンクにアクセスする必要があります。
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn