为ArrayList中的每个String元素删除空格

时间:2016-04-14 10:50:52

标签: java arrays string arraylist

我试图摆脱数组列表中每个元素的所有空格。

我可以遍历每个元素,获取文本并使用.replace(" ","")

但是有更简单的方法或方法吗?

2 个答案:

答案 0 :(得分:2)

没有更简单的方法对列表中的每个元素执行某些操作,而不是遍历列表中的所有元素并对每个元素执行某些操作。

使用ListIterator迭代列表并更新值:

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

请注意,要替换所有空格(不仅仅是" "),您需要使用正则表达式,如此处所示。

答案 1 :(得分:0)

没有更好的选择。 Java 8的一种方法是map列表中的元素,然后collect结果:

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());

请注意\\s函数中的replaceAll匹配每个空格(标签和换行符) - 不仅是空格而不是第一个空格。简单的replace函数仅替换模式的第一个出现。

示例的结果如下:

Thisisa
sentence
withsome
whitespace
相关问题