JAVA迭代并将对象从一个List复制到另一个List

时间:2015-02-12 17:01:10

标签: java list add

Java中的

是将UserAndSum对象从一个List复制到另一个List的最佳方法。

编辑: 我有一个包含很多用户的OBJ用户列表,我想要一个只有前25位用户的新用户

List <UserAndSum> list= new ArrayList<UserAndSum>();
list.add(new UserAndSum(john, 55));
list.add(new UserAndSum(tom, 88));
list.add(new UserAndSum(brian, 99));
....

List <UserAndSum> list25 = new ArrayList<UserAndSum>();
???? ADD ONLY 25 UserAndSum????

1 个答案:

答案 0 :(得分:4)

如果您希望放置list25来自list的前25个元素(不会明确创建UserAndSum的副本),那么您只需编写

List <UserAndSum> list25 = list.subList(0, Math.min(25, list.size()));

我添加Math.min(25, list.size())以防万一列表中的元素数少于25。


您可以使用Java 8及其stream()创建更清晰的代码。

List <UserAndSum> list25 = list.stream().limit(25).collect(Collectors.toList());

两种解决方案都会产生相同的结果,但limit(25) IMO描述的要比Math.min(25, list.size())更容易实现。