如何将list
中的元素替换为另一个元素?
例如,我希望所有two
成为one
?
答案 0 :(得分:23)
您可以使用:
Collections.replaceAll(list, "two", "one");
将列表中所有出现的指定值替换为另一个。更正式地,用
newVal
替换列表中的每个元素e
(oldVal==null ? e==null : oldVal.equals(e))
。 (此方法对列表的大小没有影响。)
该方法还返回boolean
以指示是否实际进行了替换。
java.util.Collections
还有更多static
实用工具方法可供List
使用(例如sort
,binarySearch
,shuffle
等)
以下显示了Collections.replaceAll
的工作原理;它还表明您也可以替换null
来自<{1}}:
List<String> list = Arrays.asList(
"one", "two", "three", null, "two", null, "five"
);
System.out.println(list);
// [one, two, three, null, two, null, five]
Collections.replaceAll(list, "two", "one");
System.out.println(list);
// [one, one, three, null, one, null, five]
Collections.replaceAll(list, "five", null);
System.out.println(list);
// [one, one, three, null, one, null, null]
Collections.replaceAll(list, null, "none");
System.out.println(list);
// [one, one, three, none, one, none, none]