2011-12-19 3 views
0

Мне нужно преобразовать 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} 
+0

какой формат вам нужно в массивах? вам нужен 2D-массив или один размер? вы можете перебирать по карте и помещать значения в массив? также, почему вам нужен массив? – aishwarya

+0

Мне нужен 2D-массив, мне нужно сохранить их в массиве для выполнения LSI – sum2000

+0

, в этом случае на самом деле вам может быть лучше с картой. В любом случае, если вам нужен массив, используйте решение Шона с петлей Пангеи. – aishwarya

ответ

2
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(); 
1

Не используйте TreeMap, используйте гуавы-х TreeMultiSet.

String[] str = new String[treeMultiSet.size()]; 
int ct = 0; 
for(MultiSet.Entry<String> entry : treeMultiSet.entrySet()){ 
    str[ct++] = entry.getElement() + "=" + entry.getCount(); 
} 
+0

На самом деле, я новичок в java, код, который я сделал, очень длинный, поскольку он включает папки, файлы и т. Д., Я бы предпочел теперь не менять код, не могли бы вы рассказать мне, как это сделать с TreeMap. – sum2000

+0

Почему мы не должны использовать TreeMap? Кстати, ссылка мертва. – Twonky

Смежные вопросы