如何在没有循环的情况下打印ArrayList的值和索引号?

时间:2016-06-13 23:49:43

标签: java arraylist

到目前为止,这是我的代码:

import java.util.ArrayList;

public class BasicArraylists0 
{
    public static void main(String[] args) 
    {
        ArrayList arrayList = new ArrayList();

        arrayList.add(-113);
        arrayList.add(-113);

        System.out.println(arrayList); // prints [-113, -113]
    }
}

我想编码,以便它打印值,在这种情况下为-113s,而没有任何括号的索引而不使用任何for或while循环?

例如,我想打印类似

的内容

“Slot 0有一个-113” “Slot 1有一个-113” 等等。

好的,问题是:

“创建一个可以容纳整数的ArrayList。将数字-113的十个副本添加到ArrayList。然后在屏幕上显示ArrayList的内容。

不要使用循环。另外,不要对索引使用任何变量;你必须使用文字数字来引用每个插槽。“

2 个答案:

答案 0 :(得分:2)

没有某种形式的迭代,没有办法解决这个问题。最好的方法是使用for循环,但也可以使用Java 8的Stream API循环而不显式使用循环。

IntStream.range(0, arrayList.size())
         .forEach(i -> System.out.println("Slot "+i+" has a "+arrayList.get(i));

如果你知道ArrayList的大小,那么我想你可以复制整个意大利面:

System.out.println("Slot 0 has a "+arrayList.get(0));
System.out.println("Slot 1 has a "+arrayList.get(1));
System.out.println("Slot 2 has a "+arrayList.get(2));
System.out.println("Slot 3 has a "+arrayList.get(3));
System.out.println("Slot 4 has a "+arrayList.get(4));
System.out.println("Slot 5 has a "+arrayList.get(5));
System.out.println("Slot 6 has a "+arrayList.get(6));
System.out.println("Slot 7 has a "+arrayList.get(7));
System.out.println("Slot 8 has a "+arrayList.get(8));
System.out.println("Slot 9 has a "+arrayList.get(9));

答案 1 :(得分:0)

让我理解你的问题,你想打印一个没有循环的整个ArrayList?如果是这样,您可以使用以下代码:

protocols

这使用了新的Java 8 lamda的功能。