2011-12-19 149 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

你在陣列需要什麼格式?你需要一個二維數組還是一維?當然你可以遍歷地圖並將值放入數組中?另外,爲什麼你需要一個數組? – aishwarya 2011-12-19 10:28:04

+0

我需要2D陣列,在這種情況下,我需要將它們存儲在一個陣列中以執行LSI – sum2000 2011-12-19 12:43:31

+0

,但實際上,使用地圖可能會更好。無論如何,如果你確實需要一個數組,使用Sean的解決方案和Pangea循環。 – aishwarya 2011-12-20 04:06:11

回答

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 2011-12-19 09:48:57

+0

爲什麼我們不應該使用TreeMap?順便說一句,這個鏈接已經死了。 – Twonky 2017-07-28 07:41:31