코딩/sparta TIL

TIL 15 : 형식 지정자, stream sorted

americanoallday 2025. 3. 12. 11:46

형식 지정자(Format Specifier)

printf() 또는 String.format()을 사용할 때, 출력할 값의 형태를 지정하는 기호.

 

형식 지정자의 기본 구조

%[플래그][너비][.정밀도]변환문자

% → 형식 지정자가 시작됨을 의미

[플래그] → 정렬, 부호, 공백 등 옵션 (생략 가능)

[너비] → 최소 출력 너비 (생략 가능)

[.정밀도] → 소수점 자릿수 (생략 가능)

변환문자 → 어떤 타입을 출력할지 결정 (필수)

 

기본적인 변환 문자

%d : 정수 (10진수), System.out.printf("%d", 10);10

%f : 실수 (기본 소수점 6자리), System.out.printf("%f", 3.14159);3.141590

%s : 문자열, System.out.printf("%s", "Hello");Hello

%c : 문자, System.out.printf("%c", 'A');A

%b : 불리언, System.out.printf("%b", true);true

%x : 16진수, System.out.printf("%x", 255);ff

%o : 8진수, System.out.printf("%o", 10);12

%% : % 기호 출력, System.out.printf("100%% 완료!");100% 완료!

 

너비 지정 예제

System.out.printf("|%10d|\n", 123);  // |       123|
System.out.printf("|%-10d|\n", 123); // |123       |

 

0 채우기 (%0nd)

System.out.printf("%05d\n", 42);  // 00042
System.out.printf("%07.2f\n", 3.1); // 0003.10

 

양수, 음수 부호 표시 (%+d)

System.out.printf("%+d\n", 7);  // +7
System.out.printf("%+d\n", -7); // -7

 

문자열 정렬 (%-ns)

System.out.printf("|%-10s|\n", "Java"); // |Java      |
System.out.printf("|%10s|\n", "Java");  // |      Java|

 


Stream sorted

기본 오름차순 정렬 방법

List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 3);

List<Integer> sortedNumbers = numbers.stream()
                                     .sorted() // 기본 오름차순 정렬
                                     .collect(Collectors.toList());

System.out.println(sortedNumbers); // 출력: [1, 2, 3, 5, 8]

 

내림차순 정렬 방법(Comparator 사용)

List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 3);

List<Integer> sortedNumbers = numbers.stream()
                                     .sorted(Comparator.reverseOrder()) // 내림차순 정렬
                                     .collect(Collectors.toList());

System.out.println(sortedNumbers); // 출력: [8, 5, 3, 2, 1]

 

Comparator<T> : 객체를 비교할 때 사용하는 인터페이스. 

compare(T o1, T o2) 라는 메서드를 통해 정렬 기준을 직접 정의할 수 있음. ((a, b) -> b-a : 내림차순, (a, b) -> a-b : 오름차순)

숫자 또는 문자열, 객체등 다양한 타입을 비교할 때 사용

 

reverseOrder() : 인터페이스에서 제공하는 정적(static) 메서드, 스트림뿐만 아니라 Collections.sort()에서도 사용 가능.

 

'코딩 > sparta TIL' 카테고리의 다른 글

TIL 17 : 인터넷 용어 기초  (0) 2025.03.17
TIL 16 : ENUM, 메모리구조와 변수 복습  (0) 2025.03.14
CH 2 : 키오스크 과제  (0) 2025.03.10
TIL 14 : StringBuilder  (0) 2025.03.10
TIL 12 : Stream, Lambda  (0) 2025.03.05