我想在我的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));
}
}
答案 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));
}
}