查询一些性能调优

Inquiry on some performance tuning

我有一个关于 Java 中数据结构的简单问题。 如果我在 Java 中有一个方法 returns 一个数据结构是这样的

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() 总是被调用,或者它只是缓存在内存中的某个地方并且总是在这个上下文中引用而不是这个..

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

只是扩展知识base.Thanx

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