TreeMap의 키를 검색해야하는 작업을하고 있습니다 (TreeMap은 발견 된 파일에 매핑됩니다. 기본적으로이 TreeMap은 Inverted Index입니다). 프로그램을 쿼리 파일에 저장합니다. 그러나 효율성을 높이기 위해 교수가 원하지 않는 것은 쿼리 단어로 시작하는 키를 찾을 때 TreeMap의 모든 키를 반복하는 것입니다. 반복하는 데 필요한 키만 반복하는 것이 좋습니다. 예를 들어, 쿼리 단어가 C로 시작하면 C로 시작하는 키만 반복해야합니다.이 방법에 접근하는 방법에 대한 아이디어가 있습니까?TreeMap의 일부를 반복하는 방법은 무엇입니까?
0
A
답변
1
TreeMap의 subMap()
메서드를 사용하면 검사 할 키 범위 만 포함 된 SortedMap을 얻을 수 있습니다. 그런 다음 SortedMap을 반복합니다.
0
여기 @ottomeister 제안 무엇의 기본 구현은 다음과 같습니다
public class Tester{
public static void main(String a[]){
TreeMap<CustomObject,String> tm = new TreeMap<CustomObject,String>();
tm.put(new CustomObject(4,"abc"),"abc");
tm.put(new CustomObject(7,"bcd"),"bcd");
tm.put(new CustomObject(25,"cde"),"cde");
tm.put(new CustomObject(18,"def"),"def");
tm.put(new CustomObject(2,"efg"),"efg");
tm.put(new CustomObject(8,"fgh"),"fgh");
tm.put(new CustomObject(3,"aab"),"aab");
tm.put(new CustomObject(13,"aab"),"abb");
Map<CustomObject, String> sub = tm.subMap(new CustomObject(9,""),new CustomObject(20,""));
for(Map.Entry<CustomObject,String> entry : sub.entrySet()) {
CustomObject key = entry.getKey();
String value = entry.getValue();
System.out.println(key.getId() + " => " + value);
}
}
}
class CustomObject implements Comparable<CustomObject>{
private int id;
private String Name;
CustomObject(int id, String Name){
this.id = id;
this.Name = Name;
}
@Override
public int compareTo(@NotNull CustomObject o) {
return this.id - o.id;
}
public int getId(){
return this.id;
}
}
출력 : 13 => ABB (18) => 데프
관련 문제
- 1. Ruby에서 해시의 일부를 반복하는 방법은 무엇입니까?
- 2. HashMap과 TreeMap의 차이점은 무엇입니까?
- 3. 발생 - TreeMap의
- 4. SIGALRM을 반복하는 방법은 무엇입니까?
- 5. 변수를 반복하는 방법은 무엇입니까?
- 6. QAbstractListModel을 반복하는 방법은 무엇입니까?
- 7. textview를 반복하는 방법은 무엇입니까?
- 8. 레이아웃을 반복하는 방법은 무엇입니까?
- 9. 반복적으로 반복하는 방법은 무엇입니까?
- 10. ManyToManyField를 반복하는 방법은 무엇입니까?
- 11. 목록을 반복하는 방법은 무엇입니까?
- 12. 중첩 된 TreeMaps를 통해 반복하는 방법은 무엇입니까?
- 13. TreeMap의 천장과 바닥
- 14. TreeMap의 회피 ConcurrentModificationException?
- 15. 문자열의 일부를 추출하는 방법은 무엇입니까?
- 16. jQuery에서 메뉴를 반복하는 방법은 무엇입니까?
- 17. 클래스 멤버를 반복하는 방법은 무엇입니까?
- 18. 파이썬으로 파일을 반복하는 방법은 무엇입니까?
- 19. Vaadin에서 ComboBox를 반복하는 방법은 무엇입니까?
- 20. 그리드 행을 반복하는 방법은 무엇입니까?
- 21. 일련의 공백을 반복하는 방법은 무엇입니까?
- 22. 파일에서 속성을 반복하는 방법은 무엇입니까?
- 23. RubyMotion으로 MIDIPacketList를 반복하는 방법은 무엇입니까?
- 24. WPF에서 ItemsControl을 반복하는 방법은 무엇입니까?
- 25. 수정중인 목록을 반복하는 방법은 무엇입니까?
- 26. Google지도 좌표를 반복하는 방법은 무엇입니까?
- 27. JavaScript 객체를 반복하는 방법은 무엇입니까?
- 28. 지연이있는 애니메이션을 반복하는 방법은 무엇입니까?
- 29. 문자열에서 토큰을 반복하는 방법은 무엇입니까?
- 30. KineticJS - 이미지를 반복하는 방법은 무엇입니까?
난 당신이 자바 트리 맵을 의미 가정? TreeMap의 키를보다 정확하게 설명 할 수 있습니까? 또한 "필요한 키만"에 대해보다 구체적으로 설명 할 수 있습니까? 그러나 일반적으로 TreeMap은 완전히 반복 될 수 있습니다. – nplatis
예, Java TreeMap입니다. 죄송합니다.이 키는 TreeMap의 String 유형이므로 쿼리 단어와 같은 문자로 시작하는 키만 반복하고 싶습니다. 내 교수에 따르면 TreeMap의 일부만 반복하는 방법이 있지만이 방법으로 접근하려고합니다 (가능한 경우). 도움이 될까요? – maxicecil21