【发布时间】:2011-01-22 02:00:43
【问题描述】:
我在 java 中使用泛型创建了一个链表,现在我希望能够遍历列表中的所有元素。在 C# 中,我会在链接列表中使用yield return,同时遍历列表中包含的元素列表。
我将如何创建上述的 java 版本,以便可以迭代链接列表中包含的所有项目?
我希望能够编写代码 ala
LinkedList<something> authors = new LinkedList<something>();
for (Iterator<something> i = authors.Values ; i.HasNext())
doSomethingWith(i.Value);
并且认为值“属性”/方法将包含类似的代码
LinkedListObject<something> current = first;
While (current != null){
yield return current.getValue();
current = current.getNext()
}
编辑:请注意,我对使用任何 3rd 方 API 不感兴趣。仅内置 java 功能。
【问题讨论】:
-
我不懂 C#。好奇,收益回报有什么作用?
-
过多以编译器为中心?如果我想我必须自己编写编译器为我编写的所有东西......
-
@MerlynMorgan-Graham 或者当计算(生成器函数)很昂贵并且需要惰性评估时。
标签: c# java linked-list