java - 如何在java中动态地将字符串列表拆分为多个列表

标签 java

我想使用 java 程序根据输入值动态地将字符串列表拆分为多个列表。

例如。 如果我有下面的字符串列表

     List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You");

如果我输入 2 作为输入值,我必须将字符串列表拆分为多个列表,每个拆分列表应包含 2 个值。

注意:列表应该包含多少个值取决于输入值

       outputshould be: 
       list1 contains-> Hello,world
       list2 contains -> How,Are
       list3 contains -> you

最佳答案

另一个答案表明 List.subList() 是最简单的方法。我将使用 Math.min 来涵盖最后一个分区案例。

int partitionSize = 2;
List<List<String>> partitions = new LinkedList<List<String>>();
for (int i = 0; i < messages.size(); i += partitionSize) {
    partitions.add(messages.subList(i,
            i + Math.min(partitionSize, messages.size() - i)));
}

关于java - 如何在java中动态地将字符串列表拆分为多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172570/

相关文章:

java - 在 Java 应用程序中执行 "sp_msforeachdb"

java - 我的组件不会显示在 JFrame 上以及如何隐藏另一个框架

java - 从 ResultSet java 中获取日期时间

java - Spring 的嵌入式 H2 数据源和 DB_CLOSE_ON_EXIT

java - 如何将表单字段绑定(bind)到 Play 2 Framework 中的对象

java - Spring启动 session 超时事件监听器

java - 从项目中删除 Nexus 依赖项

java - 如何使用 requestShortcut() 创建桌面快捷方式?

java - isLetter 方法在 Java 中不起作用

java - @queryparam 客户端赋值