将Treemap键和值转换为数组
问题描述:
我需要将TreeMap转换为数组;任何人都可以告诉我它是如何完成的?我需要这两个键和values.I我在一个文本文件将Treemap键和值转换为数组
这里映射每个单词的频率输出:
Bypass Internet Censorship.txt
{about=1, administrators=1, ago=1, and=1, around=1, asking=1, at=2, blocked=1, by=1, com=1, device=1, either=1, filtering=1, freerk=1, get=1, helps=1, hope=1, i=1, long=1, not=1, or=2, remember=1, school=1, sites=1, so=1, some=1, someone=1, that=1, the=1, this=1, to=1, view=1, was=1, ways=1, web=1, were=1, work=1, www=1, zensur=1}
答
StringBuilder temp=new StringBuilder();
for(Map.Entry<String,Integer> entry : treeMap.entrySet())
{
String key = entry.getKey();
Integer value = entry.getValue();
temp.append(key).append(" = ").append(value).append(", ");
}
//TODO remove the last comma
String result=temp.toString();
答
不要使用TreeMap中,使用番石榴的TreeMultiSet
。
String[] str = new String[treeMultiSet.size()];
int ct = 0;
for(MultiSet.Entry<String> entry : treeMultiSet.entrySet()){
str[ct++] = entry.getElement() + "=" + entry.getCount();
}
你在阵列需要什么格式?你需要一个二维数组还是一维?当然你可以遍历地图并将值放入数组中?另外,为什么你需要一个数组? – aishwarya 2011-12-19 10:28:04
我需要2D阵列,在这种情况下,我需要将它们存储在一个阵列中以执行LSI – sum2000 2011-12-19 12:43:31
,但实际上,使用地图可能会更好。无论如何,如果你确实需要一个数组,使用Sean的解决方案和Pangea循环。 – aishwarya 2011-12-20 04:06:11