java - 使用java中的通用表达式将数组列表拆分为另一个数组列表

标签 java arrays

我在 java 中有一个名为 temp 的数组列表,其中包含以下内容:

temp [abc,123,456,678,abc,xyz,tyh,479,572,4891,asx,abc,4r65,abc,xg,5684]

现在我想将上面的数组拆分为另一个数组列表,如下所示:

newtemp[0]=[abc,123,456,678]
newtemp[1]=[abc,xyz,tyh,479,572,4891,asx]
newtemp[2]=[abc,4r65]
newtemp[3]=[abc,xg,5684]

我想使用“abc”作为通用断路器来拆分数组。我怎样才能实现这个目标?对我来说这似乎很复杂。我无法建立它的逻辑。

最佳答案

看到当我在 toString() 项目上运行 ArrayList 时,我得到了

[abc, 123, 456, 678, abc, xyz, tyh, 479, 572, 4891, asx, abc, 4r65, abc, xg, 5684]

这就是我决定处理数据的方式,这让我相信最终结果是有 List<List<String>> 并且外部列表的每个元素都有一个以“abc”开头的内部子列表。这是通过一个迭代 temp 的 for 循环来完成的,并且每当循环运行到“abc”时就会创建一个新的子列表。您会看到我的列表以 ["aaa", "123"] 开头,并且这些项目会被跳过,直到我们遇到第一个“abc”。

package stackoverflow;

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

public class StackOverflow {

    public static void main(String[] args) throws Exception {
        List<String> temp = new ArrayList(Arrays.asList("aaa", "123", "abc", "123", "456",
                "678", "abc", "xyz", "tyh", "479", "572", "4891", "asx", "abc",
                "4r65", "abc", "xg", "5684"));
        List<List<String>> newTemp = new ArrayList();

        for (String tmp : temp) {
            // Start a new sublist
            if (tmp.contentEquals("abc")) {
                newTemp.add(new ArrayList());
            }

            // Add to the newest sublist
            if (newTemp.size() > 0) {
                newTemp.get(newTemp.size() - 1).add(tmp);
            }
        }

        for (List<String> list : newTemp) {
            System.out.println(list);
        }
    }
}

结果:

[abc, 123, 456, 678]
[abc, xyz, tyh, 479, 572, 4891, asx]
[abc, 4r65]
[abc, xg, 5684]

关于java - 使用java中的通用表达式将数组列表拆分为另一个数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30549345/

相关文章:

java - 如何让 Android 按钮阵列的 onClickListener 正常工作

javascript - 如何在javascript中将对象数组中的键名称更改为值以及将值更改为键名称

python - 根据numpy中的条件形成子数组

arrays - 最多k个相邻的1s(最大值限制邻居)

c++ - 数组指针算术 - 合法和未定义的行为

java - JUnit 无法启动 JUnit 插件测试。为什么?

java - Maven 与 Cygwin - 错误 : JAVA_HOME is not defined correctly

java - 在 mongodb 中更新嵌套的嵌入式文档

java - 使用java从套接字流读取多个流?

C++如何管理连续动态数组的迭代器