TreeSet ํด๋์ค
๐ ํน์ง
- ๊ฐ์ฒด์ ์ ๋ ฌ์ ์ฌ์ฉ๋๋ ํด๋์ค
- ์ค๋ณต์ ํ์ฉํ์ง ์์ผ๋ฉฐ(set) ์ค๋ฆ์ฐจ์์ด๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ ๋ ฌํ๋ค.
- ์ด์ง ๊ฒ์ ํธ๋ฆฌ(binary search tree)๋ก ๊ตฌํ๋์ด ์๋ค.
- ๊ฐ์ฒด ๋น๊ต๋ฅผ ์ํด
Comparable
์ด๋ Comparator
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํ๋ค.
๐จ ์์ฑ๊ณผ ์ฃผ์ ๋ฉ์๋
์์ฑ
Treeset<String> treeSet = new TreeSet<String>();
์์ ์ถ๊ฐ
treeSet.add(str);
์์ ์ ๊ฑฐ
treeSet.remove(0);
์์ ์ ๋ ฌ
Comparable
- ์ฃผ์!! ํด๋์ค๋ก ์๋ก ์ ์๋ ๊ฐ์ฒด์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋น๊ตํด์ ๋ฃ์์ง ๊ตฌํ์ ๊ฐ์ด ํด์ฃผ์ด์ผ ํ๋ค.
- ๊ธฐ๋ณธ ์๋ฃํ์๋
Comparable
๊ฐ ์ด๋ฏธ ๊ตฌํ๋์ด ์๋ค.
public class Member implements Comparable<Member> {
@Override
public int compareTo(Member member){
return (this.memberId - member.memberId);
}
}
- return ๊ฐ์ด
- ์์ = memberId
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ์์ = memberId
๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
Comparator
- ๋ณดํต์
Comparable
์ ์ฌ์ฉํ์ง๋ง... ๊ทธ๋๋ ์ ๋ฆฌํด๋๊ธฐ!
- ์ฃผ์! ์ฌ์ฉ ์ ์ ์์ฑ์์
Default Construcktor
๋ง๋ค์ด๋์ด์ผ ํ๋ค.
Treeset<Member> treeSet = new TreeSet<Member>(new Member());
public class Member implements Comparator<Member> {
@Override
public int compare(Member member1, Member member2){
return (member1.memberId - member2.memberId);
}
}
- return ๊ฐ์ด
- ์์ = memberId
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ์์ = memberId
๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
๐ฟ ๊ด๋ จ ๋ฌธ์
๐๏ธ ์ฐธ๊ณ ์๋ฃ
- Do it! ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ