2016-02-14 17 views
7

Ich möchte eine Liste von Zeichenfolgen in Großbuchstaben umwandeln.Alle Elemente einer Liste von Zeichenfolgen in Großbuchstaben umwandeln

Hier ist mein Code, dies zu tun:

List<String> list = Arrays.asList("abc", "def", "ghi"); 
List<String> upped = list.stream().map(String::toUpperCase).collect(Collectors.toList()); 

gibt es eine einfachere/bessere Möglichkeit, dies zu tun?

+1

Es gibt immer eine andere Art und Weise. Wie eine for-Schleife. Nach welcher Art von Antwort suchst du? – Tunaki

+0

Sie könnten einen Sonnenstrahl verwenden und Bits mit einer Lupe verschieben. – Tunaki

+0

Sie könnten [Schmetterlinge verwenden] (https://xkcd.com/378/). – azurefrog

Antwort

22

Sie haben die Liste nicht wirklich umgewandelt; Sie haben eine neue Liste erstellt.

Um die Liste in einem kleinen Methodenaufruf Transformation verwenden List#replaceAll():

list.replaceAll(String::toUpperCase); 
+0

Ordnet das tatsächlich die umgewandelten Zeichenfolgen ihren respektvollen Positionen in der Liste zu? Ich frage nur, weil ich an das String-Format 's = s.replaceAll()' gewöhnt bin, aber ich bin nicht vertraut mit dieser Implementierung für List. Klingt wie gute Informationen :) –

+1

@ CalvinP.yes - es führt eine In-Place-Konvertierung für jedes Element mit dem bereitgestellten Lambda, so dass die Reihenfolge der Elemente beibehalten wird. – Bohemian

+0

Ah gut zu wissen. Ich könnte für etwas in dieser Richtung in naher Zukunft verwenden –

Verwandte Themen