打印没有循环的Arraylist

时间:2018-05-12 17:59:19

标签: java arraylist println

我想在我的Arraylist中打印元素而不使用任何类型的循环是否可能在java中?

import java.util.ArrayList;

class Person
{
    String name;
    String role;

    public Person(String name, String role)
    {
        this.name = name;
        this.role = role;
    }
}

class Main
{
    public static void main(String[] args)
    {
        Person person1 = new Person("george","programmer");
        Person person2 = new Person("barack","programmer");
        Person person3 = new Person("ismail","programmer");

        ArrayList <Person> people = new ArrayList <Person>();
        people.add(person1);
        people.add(person2);
        people.add(person3);

        System.out.println(people.get(0));
        System.out.println(people.get(1));
        System.out.println(people.get(2));
    }
}

4 个答案:

答案 0 :(得分:2)

不,这是不可能的。

每种方法都会以某种形式循环遍历数组列表的值。无论是普通for循环还是forEach还是内置toString() - 每种方法都会以某种形式循环或迭代列表的值。

答案 1 :(得分:2)

这取决于你如何定义“循环”。它可以使用递归方法完成:

void print( ArrayList<Person> a, int index ) {
   if ( (a != null) && (index < a.size()) ) {
      System.out.println(a.get(index));
      print( a, ++index );
   }
}

然后调用print(people,0);

答案 2 :(得分:0)

可能必须得到对象调用tostring方法来打印数据,否则你会得到对象引用

答案 3 :(得分:0)

  

您可以不使用循环逐个打印    但问题是因为您正在使用对象类型,因此除非在类中使用toString方法,否则无法打印对象   即使你不使用Arraylist它也不会工作如果你想打印对象,除非你使用toString方法

    class Main
    {
        public static void main(String[] args)
        {  
            ArrayList<Integer> arrayList = new ArrayList<Integer>();
            arrayList.add(6);
            arrayList.add(3);
            arrayList.add(5);

            System.out.println(arrayList.get(0));
            System.out.println(arrayList.get(1));
            System.out.println(arrayList.get(2));
        }
    } 
相关问题