当前位置: 首页 > 面试题库 >

列表与列表迭代器

蒯宏达
2023-03-14
问题内容

我有一个清单:

List<Object> myList = new ArrayList<Object>();

要从此列表中获取,有两种方法:

1。

for(Object obj : myList )
{
    // some code
}

2。

Iterator<Object> objIt = myList.iterator();
while(obj.hasNext()) {
    Object obj = (Object)objIt.next();
    // some code
}

我的问题是,哪一个内存效率高且迭代速度快?


问题答案:

他们做同样的事情-
增强的for循环对于长版本来说只是语法糖(对于可迭代对象;对于数组,它稍有不同)。除非您明确需要迭代器(例如,调用remove()),否则我将使用第一个版本。

有关编译器执行的准确转换的更多详细信息,请参见Java语言规范的14.14.2节。



 类似资料:
  • 问题内容: 因此,有两种获取列表并将第二个列表的成员添加到第一个列表的方法。您可以使用列表串联,也可以对其进行迭代。您可以: 或者您可以: 要么 我的问题是:哪个更快,为什么?我使用两个极大的列表(最多10000个对象)进行了测试,似乎迭代方法比列表串联快得多(如l1 = l1 + l2)。为什么是这样?有人可以解释吗? 问题答案: 一次添加每个项目,这是导致它变慢的原因,以及对的重复调用。 但是

  • 主要内容:如何为每一行添加序号?本文章将介绍Thymeleaf标准表达式语法中的概念。我们将使用标记在模板中迭代产品列表。 编辑源代码以便将产品列表显示为表格行。已经将类的对象列表设置为具有变量名称的上下文模型(参考:中的实现)。 如果要上机实践,请参考:Thymeleaf+SpringMVC5示例项目。这里不再重复创建项目的过程,这里将只介绍如何使用标准表达式和标签。 这里创建一个Maven Web项目: thymeleaf-

  • 我正在尝试迭代一个列表,并尝试将该值打印为: 但是,只打印列表的大小,而不是在JSTL中定义的。有人帮忙吗?我想打印对象的所有属性。

  • 有没有办法在Spring迭代列表或地图?我无法在网上找到任何参考资料。 这就是我的定义- 我不想创建多个bean对象,而是想使用以下逻辑遍历这个列表并创建一个映射- 我能在Spring做这个吗?

  • 我需要一个解决方案来提高这种方法的性能。我需要使用LinkedHashMap按顺序插入这些输入,它工作得很好。然而,我不喜欢这个解决方案,因为我有一个列表,每次我都要通过它来检索我想插入到这个地图中的输入。 这是我的密码 我需要一种方法来检索这些对象,而无需重复此列表3次。

  • 问题内容: 如果我在java中的链表上使用了for-each循环,是否可以保证以它们在列表中出现的顺序迭代元素? 问题答案: 保证链表按顺序运行。 从文档中 有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。 iterator() 以适当的顺序返回此列表中元素的迭代器。