我对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()总是被调用,或者它只是缓存在内存中的某个地方,并且总是在此上下文中引用而不是这个..
void iterate() {
List<String> results = getResults();
for (String value : results)
System.out.println(value);
}
扩展知识库.Thanx
答案 0 :(得分:2)
getResults()
只会被调用一次,以便创建一个Iterator<String>
实例,该实例稍后用于检索String
。