java - 复制具有条目限制的 java 列表

标签 java list collections clone

我想创建一个新的 List<Object>来自一个简单的 List<Object>仅适用于前 20 个条目。

//my first array
List<Staff> staffs = new ArrayList<Staff>();

staffs.add(new Staff(...));
staffs.add(new Staff(...));
staffs.add(new Staff(...));
staffs.add(new Staff(...));


List<Staff> second = magicMethodForClone(staffs,20);

我想知道是否有类似 magicMethodForClone 的方法存在与否。

谢谢

最佳答案

List.subList(0, 20) 如果您的列表包含的元素少于 20 个,将抛出异常。

使用 Java 8:

您可以使用 Stream.limit() :

List<Staff> second = staffs.stream().limit(20).collect(Collectors.toList());

使用 Java 7 或更低版本:

您可以使用 Guava 的 Iterables.limit()获取所有可用元素但不超过 20 个:

List<Staff> second = Lists.newArrayList(Iterables.limit(staffs, 20));

关于java - 复制具有条目限制的 java 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876044/

相关文章:

java - 线性 RGB 空间中的仿射变换

java - Android SDK组件中的SDK工具和Build Tool有什么区别?

java - ".and"和 "where"代表什么?

list - Prolog:如何删除列表的第二个元素

r - 将变长元素列表转换为数据框

Python:合并两个字典列表

java - Guava 。按条件查找集合中的元素

java - iText 7 无边框表格(无边框)

java - 如何在不使用循环的情况下复制集合?

java - 当一个对象有多个内部集合时,我如何从外部迭代它们?