首先我想要說的是我學習java,所以如果在任何時候,我做的事情是低效或可以做更好的開始的,請告訴我。
我想要做的是按鍵按字母順序排序HashMap,然後按照該順序返回值列表。谷歌搜索後,我發現我可以使用SortedSet輕鬆地對HashMap進行排序,但是後來遇到了如何將樹設置爲數組的問題?
例
像這樣的輸入:
{ 「蘋果」, 「梨」, 「櫻花」, 「蘋果」, 「櫻花」, 「梨」, 「蘋果」 , 「香蕉」}
應該返回此:
{3 ,1,2,2}
我的代碼(到目前爲止)
import java.util.*;
public class SortedFreqs {
public int[] freqs(String[] data) {
HashMap<String, Integer> myMap = new HashMap<String, Integer>();
for (String s: data){
if (!myMap.containsKey(s)){
myMap.put(s, 0);
}
myMap.put(s, myMap.get(s)+1);
}
SortedSet<Integer> values = new TreeSet<Integer>(myMap.values());
}
}
是你的問題裁判。地圖或只顯示字數? –
你想要一個像int []或ArrayList這樣的數組嗎? –
Leo
[將集合轉換爲數組的最簡單方法]的可能重複(http:// stackoverflow。com/questions/3293946/the-easiest-way-to-transform-collection-to-array) – mdewitt