打印除最后一个之外的列表的所有值。

时间:2015-04-14 22:48:28

标签: java list

我有这段代码:

List<Integer> list1 = new ArrayList<Integer>();
    list1.add(100);
    list1.add(200);
    list1.add(300);
    list1.add(400);
    list1.add(500);
    list1.add(600);

Integer LastElement = list1.get(list1.size()-1);

System.out.println("Values of the list:" + list1-LastElement); !!!

列表的值应为:100,200,300,400,500。 list1-LastElement给了我一个错误!还有其他办法吗?

3 个答案:

答案 0 :(得分:4)

你要做的是从arraylist的长度中减去值600(arraylist的最后一个值)。这毫无意义。而是尝试以下(如果您尝试打印除最后一个元素之外的所有内容):

for (int i = 0; i < list1.size() - 1; i++) {
     System.out.println(list1.get(i));
}

这将会打印除最后一个元素之外的所有内容。因此

list1.size() - 1

答案 1 :(得分:1)

在您需要循环的列表中打印值:

for(int i=0;i<list1.size();i++) {
    System.out.println(list1.get(i))
}

打印列表中的值,而不是缩短循环所需的最后一个:

for(int i=0;i<list1.size()-1;i++) {
    System.out.println(list1.get(i))
}

答案 2 :(得分:0)

要获取List的子列表,请使用subList。 (关键是已经知道方法的名称.API文档很容易浏览。)

if (list1.size() >= 1) {
    System.out.println(
        "Values of the list:" +
        list1.subList(0, list1.size()-1)
    );
}

请注意List返回的subList是实时视图。设置一个或其他列表的元素会更新另一个列表。 API文档中的更多信息。