Java 8 “我正在取代价值”;“库马尔”;加上;辛格",;在使用Java7迭代ArrayList时,它将如何使用Java8流API进行转换? arraylistnameslist1=新的ArrayList(Arrays.asList(“Amar”、“Jeet”、“Kumar”); 对于(int i=0;is.equalsIgnoreCase(“Kumar”)?“Singh”:s)可以做得更简单无论如何。 namesList1.forEach(name -> { if (name.equalsIgnoreCase("Kumar")) { namesList1.set(namesList1.indexOf(name), "Singh"); } }); System.out.println(namesList1); namesList1.replaceAll(s -> s.equalsIgnoreCase("Kumar")? "Singh": s); System.out.println(namesList1);

Java 8 “我正在取代价值”;“库马尔”;加上;辛格",;在使用Java7迭代ArrayList时,它将如何使用Java8流API进行转换? arraylistnameslist1=新的ArrayList(Arrays.asList(“Amar”、“Jeet”、“Kumar”); 对于(int i=0;is.equalsIgnoreCase(“Kumar”)?“Singh”:s)可以做得更简单无论如何。 namesList1.forEach(name -> { if (name.equalsIgnoreCase("Kumar")) { namesList1.set(namesList1.indexOf(name), "Singh"); } }); System.out.println(namesList1); namesList1.replaceAll(s -> s.equalsIgnoreCase("Kumar")? "Singh": s); System.out.println(namesList1);,java-8,Java 8,您可以执行以下操作: 方法: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")) { namesL

您可以执行以下操作:

方法: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");
        }
    }

方法:2(由@Holger建议)


到目前为止,您编写了哪些代码?您进行了哪些研究?这不是一项免费的代码编写服务,请向我们展示您迄今为止所做的工作,并解释您的问题所在,我们可以从中帮助您请添加一个解释,说明这是如何解决问题的,给一个答案提供一些上下文会使其质量更高,对其他人的帮助也更大。为什么每个
set
调用都被包装在
println
语句中?除此之外,为每个匹配执行另一个
indexOf
是相当低效的,使用
namesList1.replaceAll(s->s.equalsIgnoreCase(“Kumar”)?“Singh”:s)可以做得更简单无论如何。
 namesList1.forEach(name -> {
        if (name.equalsIgnoreCase("Kumar")) {
            namesList1.set(namesList1.indexOf(name), "Singh");
        }
    });
    System.out.println(namesList1);
namesList1.replaceAll(s -> s.equalsIgnoreCase("Kumar")? "Singh": s);
System.out.println(namesList1);