当前位置: 首页 > 知识库问答 >
问题:

为什么Android工作室建议用foreach循环代替for循环?

萧德庸
2023-03-14

我在Android Studio中编写了这个简单的for循环。

for (int i = 0; i < arrayList.length; i++) {
    myTextView.append(arrayList[i] + "\n\n\n");
}

但它建议使用foreach循环更改此for循环。像这样

for (String arrayLists : arrayList) {
    myTextView.append(arrayList + "\n\n\n");
}

为什么Android工作室建议foreach循环而不是for循环?使用foreach循环而不是for循环有什么好处吗?

共有1个答案

严升
2023-03-14

实际上,使用for each循环有时会有好处,这是因为它使用迭代器,而不是通过索引访问元素。在某些情况下,这可能要快得多,linkedlist就是一个明显的例子。但是,如果您使用的是arraylist,那么这个优点就不适用了。

话虽如此,我实际上认为错误仅仅是由于编写了简洁的代码,而不一定是由于性能原因。

 类似资料:
  • 问题内容: 我第一次不了解PHP。我一直在脚本中使用for循环,while循环,foreach循环。我想知道 哪一个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要使用哪个循环的代码。 很明显,我可以使用while编写上面的代码。希望有人能帮助我找出哪个循环更适合使用。 问题答案: 哪一个性能更好? 没关系 选择循环的标准是什么? 如果只需要遍历对象或数

  • 问题内容: 我的代码产生了意外的结果。看来我的for循环跳过了第一次迭代,我不明白为什么。 返回…(假设输入的数字是姓名) 为什么第一个get.nextLine()被跳过? 问题答案: 当前,您对Scanner#nextInt的调用不占用换行符,因此将其传递给您的第一次调用,因此 不会 阻塞。 您将需要添加 通话后,您的第一个通话将阻止。

  • 我一直在读一本面向初学者的书,“第一头HTML5编程”,其中有这样一段代码: 目前,如果我调用,它将返回下一次显示是在下午5:00。我将循环条件更改为“I<=movie.showtimes.length;”但它仍然只运行一次,并且只显示下午5点。循环只迭代一次,即使我重写了这个函数: 不是应该跑两次吗?

  • 问题内容: 在这段代码中,为什么不按我的意愿初始化我的数组?是不是for-each循环并非旨在做到这一点,或者我只是没有正确使用它? 问题答案: for-each循环不适用于这种情况。您不能使用for-each循环来初始化数组。您的代码: 将转换为以下内容: 如果这是一个对象数组,它仍然会失败。基本上,for-each依次将集合或数组中的每个条目分配给您提供的变量,然后可以使用该变量。该变量 不

  • 我想知道为什么这个函数中的foreach循环在只经过一次循环后输出数据就结束了。我在MySQL中运行了这个查询,它返回了我要查找的8条记录。当I

  • 问题内容: 我正在寻找将以下for循环替换为优雅的java 8流或lambda解决方案。有什么简洁高效的方法吗? 问题答案: 您的循环评估依赖于先前评估的结果。相当于 使用Stream API或lambda表达式并没有真正的简化。实际上,我更喜欢上面显示的变体,即使它变大而不是变小,因为它可以清楚地说明实际发生的情况(并且可以通过避免多次查找来提高效率)。 如果创建一个新的,它还允许您独立编程位置