์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- c#์ฝ๋ฉ์๊ธฐ์ ์ค์ ํธ
- React
- ๋ช ์์ ์ธ๋ํค
- ๋ผ๋๋ฌด์คdvd
- ViewModel
- mac
- extjs
- c#
- Store
- ๋์ ๋ณธ์์์
- ์ค๋ ์์ฐ์
- ORM
- error
- vscode
- ์์ค๊ฐ๋ ์ค๋
- EFCore
- scanner
- intellij
- minimalAPI
- JSON
- Request
- lazy loading
- ์์
- extraParams
- .net
- dbContext
- Config
- JavaScript
- LINQ
- ์ฝ๋ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
ejyoo's ๊ฐ๋ฐ ๋ ธํธ
List์ ์ ๋ ฌ(Sort) - interface : Comparable, Comparator (1) ๋ณธ๋ฌธ
List์ ์ ๋ ฌ(Sort) - interface : Comparable, Comparator (1)
ejyoovV 2021. 3. 6. 16:40๐ก Comparable, Comparator
๊ธฐ๋ณธ ์ ๋ ฌ์ Comparable ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ๊ณ
๊ทธ ๋ค์ ์ถ๊ฐ๋ก ์ ๋ ฌ ๊ธฐ์ค์ ์์ฑํ๊ณ ์ถ์ ๊ฒฝ์ฐ Comparator๋ฅผ ๊ตฌํํ๋ค.
- Comparable - comparaTo() ๋ฉ์๋ ๊ตฌํ
- Comparator - compare() ๋ฉ์๋ ๊ตฌํ
๐ก ์ ๋ ฌ ๋ฐฉ์?
Collections ์ sort() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์ ๋ ฌ.
๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ(์ซ์ : ์์ ์->ํฐ์ / ๋ฌธ์ : ์ฌ์ ์)
์ ๋ ฌ ๋ฐฉ์ ๋ณ๊ฒฝ ์ํ ์, ์ ๋ ฌ ๋ฐฉ์ ๊ฒฐ์ ํ๋ ๊ฐ์ฒด๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ ๊ฒ.
๐ก ๊ธฐ๋ณธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ธฐ
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("์ผ์ง๋งค");
list.add("ํ๊ธธ๋");
list.add("์ฑ์ถํฅ");
list.add("๋ณํ๋");
list.add("์ด์์ ");
System.out.println("์ ๋ ฌ ์ : " + list);
Collections.sort(list);
System.out.println("์ ๋ ฌ ํ : " + list);
}
}
๐ก ๊ธฐ๋ณธ ์ ๋ ฌ ์ธ ์ถ๊ฐ๋ก ์ ๋ ฌํ๊ธฐ ์ํ ๊ฐ์ฒด ์์ฑ - Comparator
์์ 1) ์ถ๊ฐ ์ ๋ ฌ ๊ฐ์ฒด์ ๋ํ ํด๋์ค๋ฅผ ์์ฑํ๋ค.(์์)
์์ 2) Comparator ์ compare() ๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ๋ค.
* ์ฐธ๊ณ : [์ค๋ฆ์ฐจ์ : 1 / ๋ด๋ฆผ์ฐจ์ : -1]
๐ compare ๋ฉ์๋์์ ์์๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ๋ ๊ฐ์ ์์๊ฐ ๋ฐ๋๋ ๊ตฌ์กฐ(์ค๋ฆ์ฐจ์ ๊ธฐ๋ณธ๊ฐ)
๐ ์ค๋ฆ์ฐจ์ ๊ธฐ์ค์ผ ๋ ๋ค์์ ๊ท์น์ด ์กด์ฌ
- ์์ ๊ฐ์ด ํผ : ์์
- ๊ฐ์ผ๋ฉด : 0
- ์์ ๊ฐ์ด ์์ : ์์
๐ String ๊ฐ์ฒด์ ์ ๋ ฌ์ ์ํ compareTo() ๋ฉ์๋๊ฐ ๊ตฌํ๋์ด ์์. (๋ฐํ๊ฐ์ ์ค๋ฆ์ฐจ์์ ๋ง๊ฒ ๊ตฌํ๋์ด ์์)
๐ compareTo()๋ Wrapperํด๋์ค์ Date, File ํด๋์ค์๋ ๊ตฌํ๋์ด ์์.
class Desc implements Comparator<String>{
@Override
public int compare(String str1, String str2) {
return str1.compareTo(str2) * -1;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("์ผ์ง๋งค");
list.add("ํ๊ธธ๋");
list.add("์ฑ์ถํฅ");
list.add("๋ณํ๋");
list.add("์ด์์ ");
System.out.println("์ ๋ ฌ ์ : " + list);
Collections.sort(list);
System.out.println("์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ : " + list);
Collections.shuffle(list);//๋ด๋ฆผ์ฐจ์ ํ์ธ ์ํด ์๋ฃ๋ฅผ ์์.
System.out.println("(์๋ฃ์์)์ ๋ ฌ ์ : " + list);
Collections.sort(list, new Desc());
System.out.println("๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ํ : " + list);
}
}
'BackEnd > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
List์ ์ ๋ ฌ(Sort) - interface : Comparable, Comparator (3) (0) | 2021.03.06 |
---|---|
List์ ์ ๋ ฌ(Sort) - interface : Comparable, Comparator (2) (0) | 2021.03.06 |
ArrayList (0) | 2021.03.06 |
Stack๊ณผ Queue (0) | 2021.03.06 |
ํด์(Hash) ์๊ณ ๋ฆฌ์ฆ (0) | 2021.03.05 |