https://codegym.cc/ko/groups/posts/ko.1107.java---
Java์์ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ
์ ๋ ฌ์ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ํ์ํ ์์ ์ค ํ๋์ ๋๋ค. ํน์ ์์๋ก ์ผ๋ถ ์์ ์งํฉ์ ์์๋ฅผ ๋ํ๋ ๋๋ค. ์ด ๋ฌธ์๋ Java์์ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ํ์ค ๋ฐฉ๋ฒ์ ๊ดํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์
codegym.cc
์ฝ๋ฉํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด ๋ฐฐ์ด์ ์ ๋ ฌํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ด๋ด ๋ Arrays.sort ์ ๋ํด ์๊ณ ์์ผ๋ฉด ๊ฐ๋จํ๊ฒ ๋ฐฐ์ด์ ์ ๋ ฌํ ์ ์๋ค.
Arrays.sort
- ์๋ฐ์์ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋
- ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๋ฐฐ์ด์ ์ ๋ ฌํ ์ ์์
- ์ฌ์ฉํ๋ ค๋ฉด 'java.util.Arrays' ํด๋์ค๋ฅผ import ํด์ผ ํจ
1. ๊ธฐ๋ณธํ ๋ฐฐ์ด ์ ๋ ฌ
- ์ ์, ์ค์, ๋ฌธ์ ๋ฑ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- 'Dual-Pivot Quicksort' ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ๋จ
- ์๊ฐ๋ณต์ก๋ : O(n log n)
int[] numbers = {3, 5, 1, 4, 2};
Arrays.sort(numbers);
// {1, 2, 3, 4, 5}๋ก ์ ๋ ฌ๋จ
2. ๊ฐ์ฒด ๋ฐฐ์ด ์ ๋ ฌ
- ๊ธฐ๋ณธ ์ ๋ ฌ ๊ธฐ์ค์ ๋ฐ๋ผ ์ ๋ ฌ
String[] names = {"John", "Alice", "Bob"};
Arrays.sort(names);
// {"Alice", "Bob", "John"}๋ก ์ ๋ ฌ๋จ
3. Comparator ์ฌ์ฉ
- ์ฌ์ฉ์ ์ ๋ ฌ ๋ฐฉ์
Arrays.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s2.compareTo(s1); // ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
}
});
// {"John", "Bob", "Alice"}๋ก ์ ๋ ฌ๋จ
Arrays.sort ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๊ธฐ
- ๊ธฐ๋ณธ์ ์ผ๋ก Arrays.sort ๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๊ธฐ ์ํด Collections.reverseOrder ๋ฉ์๋๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐฉ์์ด ์์
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
String[] names = {"John", "Alice", "Bob"};
Arrays.sort(names, Collections.reverseOrder());
System.out.println(Arrays.toString(names)); // [John, Bob, Alice]
}
}
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์คํธ๋ฆผ์ filter()๋ก ์ํ๋ ์กฐ๊ฑด์ ๋ฐ์ดํฐ ํํฐ๋งํ๊ธฐ (2) | 2024.09.09 |
---|---|
[Java] Spring๊ณผ SpringBoot์ ์ฐจ์ด์ (0) | 2024.09.03 |
[Java] Math ํด๋์ค : Math.pow(), Math.sqrt() (0) | 2024.08.22 |
[Java] ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ (0) | 2024.08.13 |
[JAVA] StringBuilder ์ฃผ์ ๋ฉ์๋ (0) | 2024.07.24 |