List 获取前N条数据

1.使用for循环遍历

java 复制代码
    public static void main(String[] args) {
	   int limit = 5;
        List<Integer> oldList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);
        List<Integer> newList = Lists.newArrayList();
        if (oldList.size() <= limit) {
            newList.addAll(oldList);
            return;
        }
        for (int i = 0; i < limit; i++) {
            newList.add(oldList.get(i))
        }
    }

2.使用Stream API

java 复制代码
    public static void main(String[] args) {
        int limit = 5;
        List<Integer> oldList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);
        List<Integer> newList = new ArrayList<>(limit);

        if (oldList.size() <= limit) {
            newList.addAll(oldList);
            return;
        }
        newList = oldList.stream().limit(limit).collect(Collectors.toList());
    }

3.使用subList方法

java 复制代码
    public static void main(String[] args) {
        int limit = 5;
        List<Integer> oldList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);
        List<Integer> newList = new ArrayList<>(limit);

        if (oldList.size() <= limit) {
            newList.addAll(oldList);
            return;
        }
        newList = oldList.subList(0,limit);
    }

4.使用Apache Commons Collections

java 复制代码
    public static void main(String[] args) {
        int limit = 5;
        List<Integer> oldList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);
        List<Integer> newList = new ArrayList<>(limit);

        if (oldList.size() <= limit) {
            newList.addAll(oldList);
            return;
        }
        CollectionUtils.addAll(newList, oldList.iterator());
    }
相关推荐
apcipot_rain10 分钟前
计科八股20260605——软件生命周期、文档、死锁、地址转换、I/O控制方式、堆、无向图、连通图、最小支配集、逆关系、永真式
数据结构·操作系统·软件工程·计算机组成原理·离散数学
洒脱的六边形战士加辣12 分钟前
Java排序方法全解析
java·数据结构·算法
武壮18 分钟前
Redis 跳表(Skip List)实现
redis·bootstrap·list
布朗克16827 分钟前
19 集合框架:List——ArrayList与LinkedList深度对比
java·list·集合框架
hope_wisdom1 小时前
C/C++数据结构之二叉树基础
c语言·数据结构·c++·二叉树
知南x1 小时前
【DPDK核心知识了解】(3) 数据结构与缓冲区管理(建立零拷贝的认知)
数据结构
csdn_aspnet1 小时前
C# List 移除某个属性值中最大的值
开发语言·c#·list
bIo7lyA8v1 小时前
算法与数据结构协同优化的设计思想的技术8
数据结构·算法
Lsk_Smion1 小时前
力扣实训 _ [98].验证二叉搜索树 _ 将二叉树展开成链表
数据结构·算法·leetcode
小小工匠1 小时前
Redis - 从数据结构到高可用的九个关键问题
数据结构·redis