正如标题所说。
我尝试使用List []上的Collections.sort()和ArrayList的.sort()函数进行一些处理,但是我从来没有能够将它解析回Enumeration。
谢谢!
编辑:
这是一些pseduocode和进一步的解释。我的目标是从Hashtable中获取keys()并按字母顺序执行涉及每个操作的复杂操作。
我目前的流程是:
所以代码是这样的:
public void processData(Hashtable<String,GenericClass> htData)
{
Enumeration<String> enData = htData.keys();
while(enData.hasMoreElements())
{
String current = enData.nextElement();
/*
* DO COMPLEX PROCESS
*/
}
}
问题是,枚举中的数据必须是按字母顺序排列的(也就是说,必须按字母顺序对每个键执行“复杂过程”)。有解决方案吗谢谢!
答案 0 :(得分:4)
如果您有排序列表,可以使用
Collections.enumeration(myList中)
让它回到枚举...如果我正确地跟着你..
编辑:
你可以这样做......
List l = new ArrayList(ht.keySet());
Collections.sort(l)
答案 1 :(得分:2)
如果您需要按照键的顺序迭代项目,可能最好使用TreeMap
而不是Hashtable
。它的keySet
方法将按顺序返回密钥。
答案 2 :(得分:0)
如何将键存储在ArrayList中进行排序呢?
List<String> list = // create from htData.keys()
Collections.sort(list);
for(String s : list) {
...
答案 3 :(得分:0)
以下应该工作:
Enumeration<String> enumeration = dictionary.keys(); // unsorted enumeration
List list= Collections.list(enumeration); // create list from enumeration
Collections.sort(list);
enumeration = Collections.enumeration(list);