在使用Java 7迭代ArrayList时,我正在用“Singh”替换值“Kumar”,它将如何使用Java 8 Stream API进行转换?

问题描述 投票:-5回答:1
ArrayList<String> namesList1 = new ArrayList<String>(Arrays.asList( "Amar", "Jeet", "Kumar") );

    for(int i=0; i < namesList1.size(); i++){
        if(namesList1.get(i).equalsIgnoreCase("Kumar")) {
            namesList1.set(i, "Singh");
        }
    }
java-8
1个回答
0
投票

你可以这样做:

制法:1

 namesList1.forEach(name -> {
        if (name.equalsIgnoreCase("Kumar")) {
            namesList1.set(namesList1.indexOf(name), "Singh");
        }
    });
    System.out.println(namesList1);

方法:2(由@Holger推荐)

namesList1.replaceAll(s -> s.equalsIgnoreCase("Kumar")? "Singh": s);
System.out.println(namesList1);
© www.soinside.com 2019 - 2024. All rights reserved.