我正在嘗試編寫使用for循環創建多個HashSet的代碼。我試圖根據它們的長度來存儲唯一單詞的出現次數。例如,長度爲4的單詞將進入HashSet A,而長度爲20的單詞將進入HashSet B.而不是手動創建16個HashSets,有沒有辦法讓我使用for循環(int i=4; i<21; i++)
?謝謝!使用循環創建多個HashSet Java
1
A
回答
8
而不是有16個不同的HashSet
的,你可以有一個Map<Integer, Set<String>>
。
因此,在添加時,您可以測試key
是否已經存在或不存在。如果有密鑰,只需將該字添加到該密鑰的Set
,否則添加一個新條目。
所以,我這裏還有你需要的步驟如下: -
- 獲取單詞的長度。說
length
。 如果
Map
包含關鍵length
測試 -Map#containsKey(Object)
如果
length
關鍵是存在的,得到了Set
該鍵 -Map#get(Object)
。並將word
添加到該Set
。- 如果
length
鍵不存在,請創建一個新的HashSet
,在其中添加當前單詞。而在你Map
當前長度增加新的項目爲重點 -Map#put(K, V)
2
2
HashSet<String>[] sets= HashSet<String>[21];
for(int i=4; i<21; i++)
sets[i]= new HashSet<String>();
稍後當您要添加單詞時:
for(String word: words){
sets[word.length()].add(word);
}
Ps我不使用數組索引0..3,但代碼看起來更好,這實際上只是非常小的內存浪費。
相關問題
- 1. 創建多個循環頁
- 2. 如何在java中使用循環創建多個線程
- 3. 如何在Java中使用循環創建多個列表?
- 4. Java:使用HashSet創建對象
- 5. 使用循環創建模式Java
- 6. 使用循環來創建java jbuttons
- 7. 用for循環創建多個函數
- 8. 用循環創建多個變量?
- 9. 用循環創建多個HTML元素
- 10. 如何使用循環創建多列
- 11. Java - 用For循環創建多個線程
- 12. JAVA sum結果來自for循環hashset
- 13. foreach循環java創建?
- 14. 從循環創建表(java)
- 15. JAVA:創建菜單循環
- 16. 使用循環創建多個地圖(集合)
- 17. 使用循環創建一個div
- 18. 使用每個循環創建多個Ajax按鈕
- 19. 創建多線程循環
- 20. 循環創建多個div元素? JQUERY
- 21. 從循環創建多個MySQL表?
- 22. 在循環中創建多個線程
- 23. 從foreach循環創建多個變量
- 24. 在循環中創建多個變量?
- 25. 通過循環創建多個對象
- 26. 在R中創建多個循環表
- 27. 創建多個列表循環
- 28. 在foreach循環中創建多個DropDownListFor
- 29. 在循環中創建多個幀wxPython
- 30. 在循環中創建多個tableview(swift)
非常感謝!我還有最後一個問題,我該如何在該集合中添加一個單詞? –
@ EricaFischer-Colbrie ..使用'Set#add(Object)'方法 –