2016-04-14 31 views
0

'daki her String öğesi için beyaz boşluktan kurtulmak Dizi listemdeki her öğeden tüm boşluklardan kurtulmaya çalışıyorum.ArrayList

ben her öğe üzerinde döngü metni almak ve .replace(" ","")

kullanmak Ama bu daha kolay bir yöntem veya yaklaşım yoktur ki?

cevap

2

Listedeki tüm öğelere gitmek ve her bir öğeye bir şeyler yapmak için listedeki her öğeye bir şeyler yapmanın daha kolay bir yolu yoktur.

değerleri listesini yineleme ve güncellemek için bir ListIterator kullanın: tüm boşluk (değil sadece " ") yerine

ListIterator<String> itr = list.listIterator(); 
while (itr.hasNext()) { 
    itr.set(itr.next().replaceAll("\\s", "")); 
} 

Not, burada gösterildiği gibi, normal bir ifade kullanmak gerekir.

0

Böyle daha iyi bir seçenek yok. sadece boşluk -

import static java.util.stream.Collectors.toList; 
List<String> al = Arrays.asList("This is a ", "sentence", "\t with some", "\nwhite \n space "); 
al.stream().map(s -> s.replaceAll("\\s", "")).forEach(System.out::println); 
List<String> cleaned = al.stream().map(s -> s.replaceAll("\\s", "")).collect(toList()); 

replaceAll işlevinde \\s her boşluk için aynı olduğundan Not (sekmeler ve satır aralıkları çok): Java 8 ile bir yaklaşım daha sonra map listenin elemanları ve collect sonuç olacaktır ve ilkinde değil. Basit replace işlevi, desenin yalnızca ilk oluşumunun yerini alır.

örneğin sonucu aşağıdaki olması:

Thisisa 
sentence 
withsome 
whitespace