gpt4 book ai didi

java - 流式传输 2d 数组、修剪值并收集回 2d 数组

转载 作者:行者123 更新时间:2023-12-01 19:12:55 25 4
gpt4 key购买 nike

知道如何对二维字符串数组执行修剪操作,例如使用 Java 流 API 进行 3x3 并将其收集回相同维度的 3x3 数组?

重点是避免使用显式的 for 循环。

当前的解决方案只是简单地执行一个 for 循环,例如:

String arr[][] = {
{" word ", " word "},
{" word ", " word "},
{" word ", " word "}};

for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = arr[i][j].trim();
}
}

这可行,但我正在尝试想出一种方法来对流 API 执行相同的操作。

最佳答案

请首先决定您是否愿意创建具有相同维度的二维数组,或者要将修剪后的字符串存储回现有数组中。两者都是可能的,而且都不难做到(当你现在如何做时)。

  • 您的问题听起来更像是您想要一个具有相同尺寸的新数组。如果是这样,我发现流很适合这项工作,并推荐 Ravinfra Ranwala 的答案,那就很好了。
  • 问题中的代码将修剪后的字符串存储回现有数组中。如果你想要这个并且不想使用循环,我建议你也不要使用流,但是 List.replaceAll​() :
    String arr[][] = {
    {" word ", " word "},
    {" word ", " word "},
    {" word ", " word "}};

    Arrays.asList(arr).forEach(inner ->
    Arrays.asList(inner).replaceAll(String::trim));

    System.out.println(Arrays.deepToString(arr));
    该片段的输出是:
    [[word, word], [word, word], [word, word]]

Arrays.asList()为您的数组创建一个 ListView 。对列表的更改写回到数组中,这就是我们想要的。

关于java - 流式传输 2d 数组、修剪值并收集回 2d 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59454161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com