【发布时间】:2020-08-01 17:04:10
【问题描述】:
我已经用谷歌搜索了,但找不到满意的解决方案。
我想保存第一个列表中的所有数字:“列表”。
如果数字可以被 2 整除,我还想将它们保存在第二个列表中:“list2”
我的问题是:
- 子列表应该获取哪些参数?我不认为 (list.subList (0, list.size ()) 是正确的;)
- 如何在我的 print() 方法中获取子列表“list2”的元素?
我只能将第一个列表作为参数传递
感谢您的帮助!
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>(list.subList(0, list.size()));
list.add(2);
list.add(1);
list.add(4);
list.add(5);
list.add(10);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 == 0) {
list2.add(list.get(i));
}
}
print(list);
}
private static void print(ArrayList<Integer> list) {
for (Integer integer : list) {
System.out.println(integer);
}
}
【问题讨论】:
-
你可以使用流:
List<Integer> list2 = list1.stream().filter(value -> value % 2 == 0).collect(Collectors.toList()); -
您可以使用两个不同的列表调用 print 方法两次。一个是主列表,第二个是可被 2 整除的子列表。您在这种方法中面临什么问题?