我想从简单的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
之类的方法是否存在。
谢谢
答案 0 :(得分:27)
List.subList(0, 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));
答案 1 :(得分:15)
List<Staff> second = new ArrayList<Staff>(staffs.subList(0, 20));