Java:来自Set ]的枚举 我有一个简单的收藏问题。我有一个Set<String>对象。我想要Set<String>中的Enumeration<String>中的Enumeration<String>。我需要String,因为我要重写专门返回Set的方法。最干净/最好的方法是什么? 我有一个简单的收藏问题。我有一个Set 对象。我想要该集合中字符串的Enumeration 。我需要一个Enumeration ,因为我要覆盖... ] 编辑:无需编写您自己的(尽管我将后继实现留给下面的实现)-请参阅Kevin Bourrillion在JDK中关于该实现的答案。 如果您 确实 需要枚举,则可以使用:Enumeration<String> 尽管有可能,最好使用Enumeration<String> ... 更好的选择是在Enumeration<String> x = new Vector(set).elements(); 周围编写一个小型包装器类。这样一来,您不必为了找到Iterable<E>的原件而进行复印: Iterator<E> Enumeration<E> Javadoc 返回指定集合的 枚举。这提供与需要枚举为以下内容的旧版API的互操作性输入。 假设您在数学意义上是指枚举,最简单的方法是通过for循环,适用于实现import java.util.*; class IteratorEnumeration<E> implements Enumeration<E> { private final Iterator<E> iterator; public IteratorEnumeration(Iterator<E> iterator) { this.iterator = iterator; } public E nextElement() { return iterator.next(); } public boolean hasMoreElements() { return iterator.hasNext(); } } public class Test { public static void main(String[] args) { Set<String> set = new HashSet<String>(); Enumeration<String> x = new IteratorEnumeration<String>(set.iterator()); } } 的任何类: java.util.Collections.enumeration(set) 如果确实需要java.util.Collections.enumeration(set),则可以实现适配器类来包装通过调用Iterable返回的Set<String> strs = ... for (String s : strs) { ... } 。 Apache Collections库中有一个适配器类:Enumeration。 或者您可以使用Google的Guava库: Iterator

问题描述 投票:50回答:3
我有一个简单的收藏问题。我有一个Set<String>对象。我想要Set<String>中的Enumeration<String>中的Enumeration<String>。我需要String,因为我要重写专门返回Set的方法。最干净/最好的方法是什么?

我有一个简单的收藏问题。我有一个Set

对象。我想要该集合中字符串的Enumeration 。我需要一个Enumeration ,因为我要覆盖...

java collections set enumeration
3个回答
27
投票
编辑:无需编写您自己的(尽管我将后继实现留给下面的实现)-请参阅Kevin Bourrillion在JDK中关于该实现的答案。


如果您

确实


197
投票
Enumeration<E>

5
投票
假设您在数学意义上是指枚举,最简单的方法是通过for循环,适用于实现import java.util.*; class IteratorEnumeration<E> implements Enumeration<E> { private final Iterator<E> iterator; public IteratorEnumeration(Iterator<E> iterator) { this.iterator = iterator; } public E nextElement() { return iterator.next(); } public boolean hasMoreElements() { return iterator.hasNext(); } } public class Test { public static void main(String[] args) { Set<String> set = new HashSet<String>(); Enumeration<String> x = new IteratorEnumeration<String>(set.iterator()); } } 的任何类:
© www.soinside.com 2019 - 2024. All rights reserved.