Mam List<String>
, potencjalnie posiadające tysiące ciągów. Wdrażam metodę sprawdzania poprawności, która obejmuje zapewnienie, że nie ma żadnych wiodących lub kończących białych znaków w każdym ciągu znaków.Jaki jest najlepszy sposób przycinania() wszystkich elementów na liście <String>?
Jestem obecnie iteracji po liście, nazywając String.trim() dla każdego String
i dodanie go do nowego List<String>
i realokacja z powrotem do oryginalnej listy po:
List<String> trimmedStrings = new ArrayList<String)();
for(String s : originalStrings) {
trimmedStrings.add(s.trim());
}
originalStrings = trimmedStrings;
czuję się jak tam jest DRYer sposobem Zrób to. Czy istnieją alternatywne, bardziej wydajne podejścia? Dzięki!
Edycja: Tak Jestem na 8 Java, więc propozycje Java 8 są mile widziane!
Połączone pytanie mówi o wyższym łańcuchu dla każdego Stringa, ale tutaj jest tak samo dla przycinania: 'originalStrings.replaceAll (String :: trim);' – Tunaki
Niestety, nie. Ciągi są niezmienne, co oznacza, że musisz pracować z nowymi obiektami String niż ten, który już znajduje się na Liście. Dzięki konkretnym implementacjom List można usunąć element i wstawić przycięty obiekt w tej samej pozycji, który zapisałby ci drugi "List". – f1sh