如何在java中删除列表?

时间:2012-08-30 12:01:43

标签: java list

我有客户列表说列表总是有5行我必须删除迭代中的最后三行,

for (Customer cust: oh.getCustomer()) {  
// Check the size of order and remove the last three rows                   
}

有任何建议如何做到这一点??

5 个答案:

答案 0 :(得分:2)

您需要for循环而不是foreach

for (int i = 0; i < oh.getCustomer().size(); i++) {
    if (i >= oh.getCustomer().size()-3) {
        break;
    }
}

(或类似的东西)

或者您可以使用此方法删除最后3项:http://docs.oracle.com/javase/6/docs/api/java/util/List.html#remove(int)

答案 1 :(得分:0)

答案 2 :(得分:0)

你的意思是?

List<Customer> customers = oh.getCustomer();
for(int i = -1; i >= -3 && customer.size()>0;i--)
    oh.removeCustomer(customers.get(customer.size() - i));

如果顾客是可以修改的,那真的不应该是,你可以这样做。

customers.subList(Math.max(0, customers.size()-3), customers.size()).clear();

答案 3 :(得分:0)

如果您的oh.getCustomer()java.util.list,则可以尝试以下内容:

List<Customer> customers = oh.getCustomer();
customers.subList(2, customers.size()).clear();

答案 4 :(得分:0)

很多方法都可以做到这一点。

很简单,因为你知道列表是按索引排序的。

列表总是有5行

你知道列表总是包含5个元素。

然后您不需要使用for循环,创建newList并从您的存在列表中获取第一个two元素并将其添加到新创建的列表中。

List<Customer> customerList = new ArrayList<Customer>();

customerList.add(oldList.get(0))

customerList.add(oldList.get(1))