java - 询问一些性能调整

标签 java list logic

我有一个关于 Java 数据结构的简单问题。 如果我在 Java 中有一个返回数据结构的方法,可以这样说

private List<String> getResults() {
    List<String> data = new ArrayList<String>();
    data.add("One");
    data.add("Two");
    data.add("three");
    data.add("Four");
    return data;
}

我想通过这样的方法直接迭代这个列表

 void iterate() {
    for (String value : getResults())
        System.out.println(value);
 }

这是否意味着对于打印的每个值,总是调用方法 getResults() 或者它只是缓存在内存中的某个位置并且始终在此上下文中引用,而不是 this..

 void iterate() {
    List<String> results = getResults();
    for (String value : results)
        System.out.println(value);
 }

只是扩展知识库。谢谢

最佳答案

getResults()仅调用一次以创建 Iterator<String>实例,稍后用于检索 String s。

关于java - 询问一些性能调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110251/

相关文章:

python - 如何在列表中找到最大值的所有位置?

python - 关于python中的字典值操作

java - 如何使用自定义 Dropwizard 过滤器选择性地保护资源

java - JLayeredPane。动态改变JPanel的图层索引

java - 在 biginteger 上使用 java 默认二进制搜索

java - 如何在 Java 中使用 math.random 从文本文件打印特定文本行?

java - 逻辑错误导致输出丢失/不正确,可能与 for 循环相关

java - 如何更改所有设备的用户 session 状态(离开、dnd 等)

java - 具有交集和并集的链表

r - 如何从 R 的列表中删除组件?