这就是我声明xlist的方式:

List<List<Object>> xlist = new ArrayList<>();
xlist.add(xvalueList1);
xlist.add(xvalueList2);
xlist.add(xvalueList3);


我的名单包含2018、2019和2020

这是我的代码:

for (int i = 0; i < yearsList.size(); i++) {
    if (yearsList.get(i).intValue() == model.getYear().intValue()) {
        xlist.get(i).add(Constants.WEEK + model.getStep());
    }
}


我希望我的输出是:
{{2018,2018,2018},{2019,2019},{2020}}

到目前为止,这就是我所拥有的:

List<List<Objects>> list =
        yearsList.stream()
               .filter(year-> year == model.getYear().intValue())
               .collect(Collectors.toList());

最佳答案

这是你想要的?

List<Integer> years = Arrays.asList(2020, 2019, 2018);
List<List<Integer>> result = IntStream.range(0, years.size())
 .mapToObj(i ->  Collections.nCopies(i+1, years.get(i)))
 .sorted((a, b) -> b.size() - a.size())
 .collect(Collectors.toList());
 System.out.println(result);

10-06 05:57