减少For循环 - 代码优化

use*_*944 1 java optimization

我是Java新手,正在寻找代码优化技术.这段代码使用两个for循环给出了预期的输出,我想减少/消除循环(如果可能的话).

public static void main(String[] args) {
        String dummy = "Hello how are you";
        String[] strArr = dummy.split(" ");
        for(int i=0; i < strArr.length;i++){
            String word = strArr[i];
            for(int j=word.length(); j > 0; j--){
                System.out.print(word.charAt(j - 1));
            }
            System.out.print(" ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

输出: olleH woh era uoy

请指教.

das*_*ght 5

由于打印输出的复杂性将保持不变,您所能做的就是将循环"隐藏"到现有方法中,这些方法可以执行您想要的操作,而不是消除它们,因为系统需要执行的工作量保持不变.需要处理的字符数的术语.

您可以使用此问答中描述的字符串反转技术隐藏嵌套循环.外环可以推入String.join:

String[] data = {"quick", "brown", "fox"};
System.out.println(
    String.join(
        " "
    ,   Arrays.stream(data)
           .map(s -> new StringBuilder(s).reverse().toString())
           .toArray(String[]::new)
    )
);
Run Code Online (Sandbox Code Playgroud)

演示.