在java中我试图在列表中插入相同的Integer

时间:2016-04-08 18:25:06

标签: java

在Java中我试图在列表中插入相同的Integer,但它不起作用。我的代码:

ArrayList<Integer> list = new ArrayList<Integer>();

for ( int i = 0; i < 5; i++) {
    list.add(1);
}

for ( int i = 0;i<5; i++) {
    System.out.println(list.indexOf(i));
}

输出: -1  0 -1 -1 -1

1 个答案:

答案 0 :(得分:4)

输出正确,因为您正在查找不存在的值0到9的索引,但1除外,因此它将打印-1

http://ideone.com/yGQwR2

打印

-1
0
-1
-1
-1
-1
-1
-1
-1
-1

来自List.indexOf(int)

的Javadoc
  

返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回-1。更正式地,返回最低索引i,使得(o == null?get(i)== null:o.equals(get(i))),如果没有这样的索引,则返回-1。

您的意图可能是

for (int i = 0; i < 5; i++)
    System.out.println(list.get(i));

另一种方法是

list.forEach(System.out::println);