CodeGym/Java Blog/๋ฌด์ž‘์œ„์˜/Java ์ปฌ๋ ‰์…˜ ์ •๋ ฌ()
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java ์ปฌ๋ ‰์…˜ ์ •๋ ฌ()

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
ํšŒ์›
๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐœ๋ฐœ์ž๋กœ์„œ ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” ์ •๋ ฌ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ตœ์ ํ™”ํ•˜์—ฌ ํ›จ์”ฌ ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ํ›จ์”ฌ ์งง์€ ์‹œ๊ฐ„ ๋‚ด์— ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฑธ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๊ฐ•์˜์—์„œ๋Š” Java Collections sort()์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ์‚ฌ๊ณ  ์‹คํ—˜: ๋Œ€ํ•™ ๋ช…๋ถ€๋ฅผ ํ†ตํ•ด ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด ํ•™๊ต์—๋Š” ์ˆ˜๋งŒ ๋ช…์˜ ํ•™์ƒ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ๋ช…๋‹จ์ด ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์›ํ•˜๋Š” ์ด๋ฆ„์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๋„˜๊ธฐ๊ณ  ๋งค์šฐ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ณด๊ณ  ์ด๋ฆ„์„ ๊ฑด๋„ˆ๋›ฐ์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋ช…๋‹จ์ด ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค๋ฉด ๋œ ์—„๊ฒฉํ•˜๊ฒŒ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ๋Ÿฌ๋‚˜ ๋™์ผํ•œ ์ฒซ ๊ธ€์ž๋กœ ๋ช…๋‹จ์˜ ์„น์…˜์œผ๋กœ ์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ฐพ๊ณ  ์žˆ๋˜ ์‚ฌ๋žŒ์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ ํŽ˜์ด์ง€๋ฅผ ํฌ๊ฒŒ ๋„์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ๋Œ€ํ•œ ํšจ๊ณผ์ ์ด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” Collections ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ List ๊ตฌํ˜„(ArrayList ํฌํ•จ)์„ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Java ์ปฌ๋ ‰์…˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ ArrayList๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

Java Collections.sort ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด ๋ด…์‹œ๋‹ค. java.util ํŒจํ‚ค์ง€์—๋Š” ArrayList๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
import java.util.*;
import java.io.*;
class Main{
     public static void main(String[] args){
          List<String> colors = new ArrayList<String>();
          colors.add("Red    ");
          colors.add("Orange");
          colors.add("Green");
          colors.add("Blue");
    }
}
์ƒ‰์ƒ ๋ชฉ๋ก์„ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ธ์‡„ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? java.util.Collections๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •๋ ฌ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.
Collections.sort(colors);
์งœ์ž”! ์ด์ œ ์ƒ‰์ƒ ๋ชฉ๋ก์ด ์ œ์ž๋ฆฌ์— ์ •๋ ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ชฉ๋ก์„ ์ธ์‡„ํ•˜๋Š” ๊ฒฝ์šฐ:
System.out.println(colors);
๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
[Blue, Green, Orange, Red]
์–ผ๋งˆ๋‚˜ ์‰ฌ์› ์Šต๋‹ˆ๊นŒ?! Collections.sort()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Integers, Floats ๋˜๋Š” ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ๋ชฉ๋ก์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์ด๊ฒƒ์ด ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ถ„๋ช…ํžˆ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์ˆ˜์—…์— ๋Œ€ํ•œ ์‹œํ—˜ ์ ์ˆ˜ ๋ชฉ๋ก์ด ์žˆ๊ณ  ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ ๋ฐ›์€ ํ•™์ƒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ์•„๋‚ด๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๋ชฉ๋ก์„ ๋‚ด๋ฆผ์ฐจ์ˆœ(๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜๋ถ€ํ„ฐ)์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์›ํ•˜๋Š” ๋‹ต๋ณ€์ด ๋งจ ์œ„์— ์˜ค๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ๊ณ ๋ง™๊ฒŒ๋„ Collections.sort()๋Š” ์„ ํƒ์  ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฎ์–ด์จ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
sort(List l, Comparator c)
๊ทธ๋Ÿฌ๋‚˜ ๋น„๊ต๊ธฐ๊ฐ€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋น„๊ต๊ธฐ๋Š” ๋‹จ์ˆœํžˆ ๋‘ ์ž…๋ ฅ์„ ๋น„๊ตํ•˜๊ณ  ์–ด๋–ค ์ž…๋ ฅ์ด ๋จผ์ € ์˜ค๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์›์‹œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ArrayList๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ฒฝ์šฐ Java Collections๋Š” ์ด๋ฏธ reverseOrder() ๋น„๊ต์ž๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Collections.sort(colors, Collections.reverseOrder());
์ด์ œ ์ƒ‰์ƒ์ด ์ œ์ž๋ฆฌ์—์„œ ์—ญ์œผ๋กœ ์ •๋ ฌ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ธ์‡„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[Red, Orange, Green, Blue]

์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ ๊ธฐ๋ณธ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

์ง€๊ธˆ๊นŒ์ง€ Collections.sort() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ ๋ฌธ์ž์—ด ๋˜๋Š” int์˜ ArrayList๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด ํ•œ ์ค„์˜ ์ฝ”๋“œ๋งŒํผ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ข…์ข… ArrayList๋Š” ๊ธฐ๋ณธ์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋” ๋ณต์žกํ•œ ์†์„ฑ์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค์™€ ํ•ด๋‹น ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ฒด๋ฅผ ์„œ๋กœ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•ด ์ƒ‰์ƒ ๋ชฉ๋ก์„ ์ •๋ ฌํ•˜๋Š” ์˜ˆ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋Œ€์‹  Color ๊ฐ์ฒด๋ฅผ ์ •๋ ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ Color ํด๋ž˜์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
public class Color{
	private int r;
	private int g;
	private int b;
	private String name;

	Color(String name, int red, int green, int blue){
   	this.name = name;
    	this.r = red;
   	this.g = green;
   	this.b = blue;
	}
}
Color ํด๋ž˜์Šค๊ฐ€ Collections.sort()์™€ ํ˜ธํ™˜๋˜๋„๋ก ํ•˜๋ ค๋ฉด Collections๊ฐ€ Color ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•˜๊ณ  ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‘ ๊ฐ€์ง€ ์ž‘์€ ์ˆ˜์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  1. Color๋ฅผ Comparable ๊ฐ์ฒด๋กœ ๋งŒ๋“ค๊ธฐ(add implements Comparable<Object>)
  2. ํด๋ž˜์Šค์˜ compareTo ๋ฉ”์„œ๋“œ ์žฌ์ •์˜(public int compareTo(Object o) ์žฌ์ •์˜)
์ด๋Ÿฌํ•œ ์ˆ˜์ •์„ ํ†ตํ•ด ํด๋ž˜์Šค๋Š” ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.
public class Color implements Comparable<Object>{
	private int r;
	private int g;
	private int b;
	private String name;

	Color(int red int green, int blue, String name){
    	this.r = red;
   	this.g = green;
   	this.b = blue;
   	this.name = name;
	}

	@Override
	public int compareTo(Object o) {
    	Color c = (Color) o;
    	return this.name.compareTo(c.name);
	}
}
Color์˜ compareTo ๋ฉ”์„œ๋“œ๋Š” ๋‹จ์ˆœํžˆ String์˜ compareTo ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ •๋ ฌ์€ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋นจ๊ฐ„์ƒ‰ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ ค๋ฉด return ๋ฌธ์„ return this.r - cr๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋…น์ƒ‰ ๊ฐ’์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ ค๋ฉด return cg - this.g;๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.) ์ด์ œ ์ „ํ™”๋ฅผ ๊ฑธ๋ฉด
Collections.sort(colors);
Collections๊ฐ€ Color ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ์ƒ‰์ƒ์˜ ArrayList์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด๊ฐ€ Comparable<Object>๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด ํด๋ž˜์Šค์— ๋Œ€ํ•œ ๋น„๊ต๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฅผ 2-๋งค๊ฐœ๋ณ€์ˆ˜ Collections.sort() ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ต๊ธฐ๋Š” public int compare(Object one, Object two) ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ณ  Collections.sort() ๋ฉ”์„œ๋“œ๋Š” ์ •๋ ฌํ•˜๋Š” ๋™์•ˆ ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. SortByName ๋ฐ SortByRed ๋น„๊ต๊ธฐ์˜ ์˜ˆ๋Š” ์•„๋ž˜์— ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
class SortByName implements Comparator<Color>
{
	public int compare(Color a, Color b)
	{
    	return a.name.compareTo(b.name);
	}
}

class SortByRGB implements Comparator<Color>
{
	public int compare(Color a, Color b)
	{
    	return a.r - b.r;
	}
}
์ด๊ฒƒ์œผ๋กœ ์ด์ œ ์ „ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Collections.sort(colors, new SortByName());
Color ํด๋ž˜์Šค๊ฐ€ ์‹ค์ œ๋กœ Comparable์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„๋„ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋žŒ๋‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ž‘์—…์ด ์ธ๋ผ์ธ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋žŒ๋‹ค ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ ์ค„ ๋‚ด์—์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„ ์—†๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ํŠน์ • ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด์„œ๋งŒ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๊ณ  ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ „์ฒด ๊ฐœ๋ณ„ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. SortByName ๋น„๊ต๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋žŒ๋‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ผ์ธ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Collections.sort(colors, (a, b)-> {
          return a.name.compareTo(b.name)});
์ง์ž‘ํ•˜์…จ๊ฒ ์ง€๋งŒ (a, b)๋Š” ๋žŒ๋‹ค ํ•จ์ˆ˜(๋น„๊ตํ•  ๋‘ ๊ฐ์ฒด)์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ->๋Š” ๋’ค์— ์˜ค๋Š” ๊ฒƒ์ด ๋žŒ๋‹ค ํ•จ์ˆ˜ ์ •์˜์ž„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ! ์ด์ œ Collections ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ ArrayList๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค