制作列表的子列表,该子列表位于对象存储的列表中
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);
}
所以我有一个名为 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);
}