You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java实现输入每两行存为块并按块逆序输出,块内行顺序不变

实现步骤
  • 第一步:把你已经存储了所有行的ArrayList按每2个元素为一组拆分,每组就是一个块,按读取顺序把所有块存入一个新的列表
  • 第二步:将存储块的列表整体逆序
  • 第三步:遍历逆序后的块列表,依次输出每个块内的两个元素即可,块内顺序不用调整
Java 代码示例

假设你已经读取完所有行,存储在行列表List<String> lineList中:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class BlockReverseDemo {
    public static void main(String[] args) {
        // 此处替换为你自己读取文件得到的lineList
        List<String> lineList = new ArrayList<>();
        lineList.add("cat");
        lineList.add("dog");
        lineList.add("bunny");
        lineList.add("fish");

        // 拆分块
        List<List<String>> blocks = new ArrayList<>();
        for (int i = 0; i < lineList.size(); i += 2) {
            List<String> singleBlock = new ArrayList<>();
            singleBlock.add(lineList.get(i));
            // 兼容输入行数为奇数的场景,避免下标越界
            if (i + 1 < lineList.size()) {
                singleBlock.add(lineList.get(i + 1));
            }
            blocks.add(singleBlock);
        }

        // 块整体逆序
        Collections.reverse(blocks);

        // 输出结果
        for (List<String> block : blocks) {
            for (String line : block) {
                System.out.println(line);
                // 如果你的输入中两行之间有空行,且需要保留输出格式,可在此处额外加一行 System.out.println();
            }
        }
    }
}

运行上述代码得到的输出和你给出的预期结果完全一致。如果你的输入行包含两行之间的空行,只需要调整拆分块的步长和取值下标即可,核心逻辑不用修改。

内容的提问来源于stack exchange,提问作者wethebestandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:06:05