[Java] Treeset 에서 일치하는 Custom Class를 제거하는 방법?

조회수 1112회

기록을 관리하는 프로그램을 짜고 있는데요, TreeSet을 사용하고 있고 custom class는 'Man' 이라 하겠습니다. TreeSet에서 Man 을 정렬하는 방법은 compareTo method를 정의해서

`class Man implements Comparable {

private String name; private int gender;

(...)

public int compareTo(Man compare) { return this.name - compare.getName(); }

}`

이렇게 정렬까지는 된 상태인데요,

여기서 예를 들어:

  • 이름을 입력한다 (String manName)
  • 입력값과 이름이 일치하는 Man 을 TreeSet에서 제거한다 (TreeSet ManList)
  • (이름은 중복되지 않는다. 모든 Man 은 unique)

이런 기능을 수행하려고 하는데 Data Structure를 공부할 때마다 막히는 부분이네요... ManList.remove(manName); 라고 하면 당연히 안 될테고, TreeSet에서 Iterator를 돌려서 찾아 없애자니 런타임이 초과될 것 같습니다. 이런 식으로 object의 attribute만 가지고 해당되는 instance를 찾아 자료구조에서 삭제하는 방법은 무엇이 있을까요?

bst 공부중이라 다른 자료구조 (해시맵 등)는 사용하지 않으려고 합니다!

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)