publicOrderItem[]Topsalequantity(){ArrayListoLisit=masterOrderCatalog.getoList();for(Ordero:oLisit){ArrayListoiList=o.getOiList();for(OrderItemo1:oiList...
public OrderItem[] Topsalequantity(){
ArrayList oLisit = masterOrderCatalog.getoList();
for(Order o : oLisit){
ArrayList oiList = o.getOiList();
for (OrderItem o1 : oiList){
System.out.println(o1.getQuantity() + "qwertq");
boolean flag = true;
for (OrderItem o2 : toplist) {
if (o2.getProduct().equals(o1.getProduct())) {
o2.setQuantity(o2.getQuantity() + o1.getQuantity());
System.out.println(o1.getQuantity());
flag = false;
}
}
if (flag) {
toplist.add(o1);
}
}
}
Collections.sort(toplist, new SortByQuantity());
return OrderItem;
}
每次调用这个方法的时候,toplist里面的Quantity就会开始累计一次,然后就越来越大,觉得是java对内存的使用问题,求高手指点,还有就是后面ArrayList的排序,那条语句根本就没有运行啊,没有任何效果
展开