制作列表的子列表,该子列表位于对象存储的列表中

Make a sub list of a list, which is in an object stored List

所以我有一个名为 Event 的对象,其中包含变量。

private String id;
private int x;
private int y;
private int distance;
private ArrayList<Double> list;

list 变量包含一个双精度列表,表示每个事件的门票价格列表。

我已经将列表从最低到最高排序,因此最低价格位于列表顶部。我想要做的是创建一个 1 的子列表,这将是每个事件的最低价格。

我目前有一个事件列表,我可以为其创建 5 个子列表。

 List<Event>resList = new ArrayList<>(unique1.subList(unique1.size() - 5, unique1.size()));

当我尝试创建双打列表的子列表时,它不会执行。它没有给我任何错误,但只是不会创建列表并且 returns 列表不变。 这是我试过的。

public List<Event> finalTickets(List<Event> list){


        for(int i =0; i < list.size();i++){
            ArrayList<Double> onePrice = new ArrayList<Double>(list.get(i).getList().
                    subList(list.get(i).getList().size()-1, list.get(i).getList().size()));
        }

        return list;
    }

任何帮助都会很棒。

您没有更改传递给该方法的列表的 Event 个实例,并且您在该方法中创建的 ArrayList<Double> 个实例未被任何对象引用。

为了更改这些 Event 的列表,您应该修改 Event 个实例:

for(int i = 0; i < list.size(); i++){
    ArrayList<Double> onePrice = new ArrayList<Double>(list.get(i).getList().
            subList(list.get(i).getList().size()-1, list.get(i).getList().size()));
    list.get(i).setList(onePrice);
}