2014-04-15 1 views

답변

0

사용 Map.get()Map.put() 방법을 시도,지도에서 목록을 얻고 member 추가 할 수 있습니다.

이 프로세스에 대한 참고 사항 : "항목을 다시 삽입해야하는 이유는 무엇입니까?"라는 질문을 할 수 있습니다. 그것을 업데이트하는 것으로 충분하지 않습니까? 글쎄, 안타깝게도지도가 변경 사항을 알지 못하기 때문이 아닙니다. 당신이 1 ~ 4로 레코드를 업데이트 할 경우

    2 
       1  3 

가지도 변경 사항을 통지하지 않습니다 당신 :

(말하자면 자바의 트리 맵을)의 우리가 이진 검색 트리를 가지고 있다고 가정 해 봅시다 '잘못된 BST로 끝날 것이다 :

    2 
       4  3 

지금, 이상한 상황이 발생할 수있는 그 bst.contains(4) 반환 false bst.keySet().contains(4) 동안 반환 true.

자세한 내용은 this SO question을 참조하십시오.

이 경우 키 (String)가 불변이므로이 경우에는 필요하지 않습니다.

0

key가 이미 map에 존재하면 else 부분에 일부 코드가 누락됩니다. 처럼. 즉

treemap.get(key).add(members); 

for (String key : nameToOrg) { 
      if (treemap.get(key) == null) { 
      TreeSet<String> membersAdded = new TreeSet<String>(); //Declare new TreeSet 
      membersAdded.add(members);        //Add this member 
       treemap.put(key, membersAdded);       //put(key,TreeSet) 
      }else{ 
       treemap.get(key).add(members);//write here code 
      } 
     } 
+0

이전에 시도한 적이 있지만 모든 조직에 모든 이름이 추가됩니다. Boyscouts = [Jim, Jerry, Tom], Red_Cross = [Jim, Jerry, Tom] 등과 같이 – user3287300

관련 문제