簡體   English   中英

如何在java8中更改字符串列表中的項目

[英]how to change items in a list of string in java8

我想更改list所有項目。
使用java8的正確方法是什么?

public class TestIt {

public static void main(String[] args) {
    ArrayList<String> l = new ArrayList<>();
    l.add("AB");
    l.add("A");
    l.add("AA");
    l.forEach(x -> x = "b" + x);
    System.out.println(l);
}

}

你可以使用replaceAll

將該列表的每個元素替換為將運算符應用於該元素的結果。

ArrayList<String> l = new ArrayList<>(Arrays.asList("AB","A","AA"));
l.replaceAll(x -> "b" + x);
System.out.println(l);

輸出:

[bAB, bA, bAA]

如果你想使用流,你可以這樣做:

List<String> l = new ArrayList<>(Arrays.asList("AB","A","AA"));
l = l.stream().map(x -> "b" + x).collect(Collectors.toList());
System.out.println(l);

輸出:

[bAB, bA, bAA]

當然,如果要更改列表的所有元素,最好使用replaceAll ,但使用流也可以輕松應用過濾器或並行。 replaceAll還修改列表並在列表不可修改時拋出異常,而collect創建新列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM