for 루프를 사용하여 여러 개의 HashSet을 만드는 코드를 작성하려고합니다. 나는 길이에 따라 고유 한 단어를 저장하려고합니다. 예를 들어, 길이 4의 단어는 HashSet A에 들어가고 길이 20의 단어는 HashSet B에 들어갑니다. 수동으로 16 HashSets을 만드는 대신 for 루프를 사용하는 방법이 있습니까 (int i=4; i<21; i++)
? 고맙습니다!루프를 사용하여 여러 개의 HashSet 만들기 Java
1
A
답변
8
HashSet
이 16 개가 아닌 Map<Integer, Set<String>>
일 수 있습니다.
그래서 추가하는 동안 key
이 이미 있는지 테스트 할 수 있습니다. 키가 있으면 해당 키의 단어를 Set
에 추가하고 그렇지 않으면 새 항목을 추가하십시오.
- 단어의 길이를 가져옵니다. 웨일스 어
length
라고 말하십시오. 이
테스트
Map
이length
키가 포함되어있는 경우 -Map#get(Object)
-length
키가있는 경우Map#containsKey(Object)
, 그 키에 대한
Set
를 얻을. 그리고 해당Set
에word
을 추가하십시오.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. 루프를 사용하여 패턴 만들기 Java
- 2. for 루프를 사용하여 여러 함수 만들기
- 3. 쉘에서 FOR 루프를 사용하여 여러 파일 만들기
- 4. Set and HashSet Java
- 5. DataTable의 열에서 HashSet 만들기
- 6. Java - char [] 요소가있는 HashSet
- 7. for 루프를 사용하여 여러 객체 만들기
- 8. C# 여러 줄을 for 루프를 사용하여 만들기
- 9. 루프를 사용하여 HBase에 여러 열 한정자 만들기
- 10. 여러 개의 창 만들기
- 11. 최적의 HashSet 초기화 (스칼라 | Java)
- 12. 루프를 사용하여 워드 스크램블러 만들기
- 13. 루프를 사용하여 인스턴스 집합 만들기
- 14. Java Collection HashSet 대 HashMap
- 15. 스크립트를 사용하여 여러 개의 인덱스 만들기
- 16. Matplotlib을 사용하여 여러 개의 플롯 만들기
- 17. 변수를 사용하여 여러 개의 버튼 만들기
- 18. matlab을 사용하여 여러 개의 "비슷하게"이미지 만들기
- 19. 여러 개의 DropDownLists 만들기
- 20. for 루프를 사용하여 배열 만들기
- 21. 루프를 사용하여 Java에서 피라미드 만들기
- 22. for 루프를 사용하여 배열 만들기
- 23. Java : 여러 모양의 윤곽 만들기
- 24. 루프를 사용하여 아코디언 만들기 - 부트 스트랩
- 25. Java의 HashSet 충돌
- 26. Java 루프를 사용하여 객체를 만드시겠습니까?
- 27. 여러 개의 웹 소켓 만들기
- 28. 루프를 통해 동일한 이름의 여러 객체 만들기
- 29. CodeIgniter에서 루프를 사용하여 여러 개의 이메일을 보내려면 어떻게해야합니까?
- 30. 루프를 사용하여 여러 개의 버튼을 사용할 수 있습니까?
정말 고마워요! 마지막 질문이 하나 있는데 어떻게 세트에 단어를 추가합니까? –
@ EricaFischer-Colbrie ..'Set # add (Object)'메쏘드 사용 –