繁体   English   中英

了解通过arraylist进行迭代

[英]understand iterating through arraylist

大家好,我正在做作业,但是我不了解它的一部分,我已经实现了它,但是它没有按照预期的方式工作。 它说:

遍历调用每个对象的toString()方法的Pizza对象的ArrayList,将方法调用的返回值和换行符添加到String列表中。

这就是我所做的

for(int i=0; i<myList.size()l i++)
{
//myList is arraylist of type Pizza
   list +=myList.toString() + "\n";
}

如果有人可以说我的实现是否正确,那就太好了。

您需要调用ArrayList#get()方法which will return the element at the specified position in this list方法which will return the element at the specified position in this list

list +=myList.get(i).toString() + "\n";

您需要使用for( : ) :)语法而不是for( ; ; )语法遍历列表元素:

for (Pizza item : myList ) {
   list += item.toString() + "\n";
}

在想要遍历列表的所有元素的情况下,不需要索引变量。 Java 5中添加的每种语法的,使您可以更轻松地浏览列表。

这是不正确的。 ArrayList是一个具有自己的方法的对象。

您无法通过myList [index]访问其成员...您必须调用其get()方法...

列表+ = myList.get(i);

这是假设列表是一个字符串,您只是将myList的每个项目都包含在其中(这听起来像您可能不想执行任何操作,但我不能说出您的实际目标是什么)。

正如dasblinkenlight指出的另一种方法(可能更优雅)是跳过for(;;)循环并使用for(:)循环,在该循环中您可以遍历列表,然后将每个项目都抓取到其自己的变量中飞。 这种方法的缺点是,如果由于某种原因您确实需要知道数组列表中的项目索引是什么,那么您就不需要这些信息了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM