comparable
interface
์ ๋ ฌ ์ํ ์์, ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฉ๋๋ ์ธํฐํ์ด์ค
Integer
,Double
์ ์ค๋ฆ ์ฐจ์ ์ ๋ ฌString
์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋๋ค.
์ด๋ป๊ฒ ๊ตฌํํ๋๊ฐ?
์ ๋ ฌํ ๊ฐ์ฒด ์
implements
๋ฅผ ํตํด,compareTo()
๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ์ฌ ๊ตฌํํ๋ค.ComparaTo()
์๋๋ฐฉ๋ฒ์์, ๋๋ 0 ์ด๋ฉด ๊ฐ์ฒด์ ์๋ฆฌ๊ฐ ๊ทธ๋๋ก ์ ์ง๋๋ฉฐ, ์์ ์ผ ๊ฒฝ์ฐ , ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด์ ์๋ฆฌ๊ฐ ๋ฐ๋๋ค.
ํ์ฌ ๊ฐ์ฒด < ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด : ์์ ๋ฆฌํด... --> ํ์ฌ๊ฐ์ฒด ์๋ฆฌ๊ฐ ์ ์ง๋๋ค.
ํ์ฌ ๊ฐ์ฒด == ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด : 0 ๋ฆฌํด.. --> ํ์ฌ ๊ฐ์ฒด์ ์๋ฆฌ๊ฐ ์ ์ง๋๋ค
ํ์ฌ ๊ฐ์ฒด > ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด : ์์ ๋ฆฌํด --> ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด์ ์๋ฆฌ๊ฐ ๋ฐ๋๋ค.
์ธํฐํ์ด์ค๊ฐ ๊ตฌํ๋ ๋ฉ์๋
Arrays.sort()
;Collections.sort()
Arrays.sort vs Collections.sort
Arrays.sort
์ ๊ฒฝ์ฐbyte[]
,char[]
,double[]
๋ฑ Object Array์์ ๋ฐฐ์ด ์ ๋ ฌ์ ๊ฒฝ์ฐ TimSort(MergeSort + Insertion Sort) ๋ฅผ ์ฌ์ฉํ๋ค.Primitive Array์์๋ Dual pivot + QuickSort(Quick Sort, Insertion Sort)๋ฅผ ์ฌ์ฉํ๋ค.
Collections.sort
์ ๊ฒฝ์ฐArrayList, LinkedList, Vector ์๋ฃ๊ตฌ์กฐ์์ ๋ด๋ถ์ ์ผ๋ก Arrays.sort๋ฅผ ์ฌ์ฉํ๋ค.
์์ ์ฝ๋
x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ๊ฐ์ํ๋ ์์ผ๋ก ์ ๋ ฌํ๋ ์ฝ๋
Last updated