Java: Enumeration from Setlt;Stringgt;(Java:来自 SetString 的枚举)
问题描述
我有一个简单的收藏问题.我有一个 Set
.我需要一个 Set
中的 String
的 code>EnumerationEnumeration<String>
,因为我正在重写一个专门返回 Enumeration<String>
的方法.最干净/最好的方法是什么?
I have a simple collections question. I have a Set<String>
object. I want an Enumeration<String>
of the String
s in that Set
. I need an Enumeration<String>
since I am overriding a method that specifically returns an Enumeration<String>
. What is the cleanest/best way to go about it?
推荐答案
无需编写自己的(尽管我将在下面留下实现以供后代使用) - 请参阅 Kevin Bourrillion 对 JDK 中的答案的回答.
There's no need to write your own (although I'll leave the implementation below for posterity) - see Kevin Bourrillion's answer for the one in the JDK.
如果你真的需要枚举,可以使用:
If you really need an enumeration, could could use:
Enumeration<String> x = new Vector(set).elements();
如果可能的话,最好使用 Iterable<E>
...
It would be better to use Iterable<E>
if at all possible though...
更好的选择是围绕 Iterator
编写一个小型包装类.这样你就不必为了找到 Enumeration<E>
的实现而复制一份:
A better alternative is to write a small wrapper class around Iterator<E>
. That way you don't have to take a copy just to find an imlementation of Enumeration<E>
:
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:来自 Set<String> 的枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java:来自 Set<String> 的枚举
基础教程推荐
- 降序排序:Java Map 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01