Java:来自Set< String> [英] Java: Enumeration from Set<String>

查看:207
本文介绍了Java:来自Set< String>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的集合问题。我有一个 Set< String> 对象。我想要该集合中的字符串的枚举。

I have a simple collections question. I have a Set<String> object. I want an enumeration of the strings in that set. 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< E> 。这样,您不必为了找到枚举< 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&lt; String&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆