Ich möchte überprüfen, ob einer der Schlüssel einer Karte in einem anderen Satz enthalten ist, und „true“ zurückgeben, sobald eine Übereinstimmung gefunden wird. Die allgemeine Vorgehensweise wäre wie folgt:
Code: Select all
for each element in the set:
for each key of the map:
if current element of set == current key of map
return true
Ich möchte dies erreichen, indem ich Streams in Java verwende. Daher glaube ich, dass die Möglichkeit, die Schlüssel der Karte in einen Stream umzuwandeln, durch
wäre
Code: Select all
myMap.entries().stream().map(Map.Entry::getKey)
aber dann für jedes davon eine for-Schleife ausführen, das ist es, wonach ich suche.
Eine andere Möglichkeit, die ich mir überlegt habe, wäre etwas wie das Folgende
Code: Select all
myMap.keySet().forEach((k) -> set.contains(k));
aber ich möchte, dass die äußere Schleife zur Menge gehört, da die Menge sehr weniger Elemente als die Karte hat.