02-03 학습&숙제

한강섭·2025년 2월 3일
0

숙제

목록 보기
16/25
post-thumbnail

02-03 학습! 2월의 시작! 🫢

정렬

크기를 비교할 수 있는 요소 + 방향

List, Set-SortedSet, Map-SortedMap

public class SmartPhone implements Comparable<SmartPhone>
String number;

@Override
public int compareTo(SmartPhone o){
	return this.number.compareTo(o.number)

양수 : 자리바꿈
음수 : 자리유지
0 : 동일 위치

항상 Comparable interface 만 사용해서 계속 재정의 해줘야 하나..

Comparator! 객체가 Comparable을 구현하고 있지 않거나 사용자 정의 알고리즘으로 정렬하려는 경우

public class StringLengthComparator implements Comparator<String> {

🚨 anonymous inner class 사용법 숙지!!

Lambda

함수적 프로그래밍의 형태로 재사용 가능한 코드 블록

anonymous 방식을 한 줄로 줄여줌!!

반드시 지켜야 할 조건

🚨 타겟 타입은 abstract 메서드가 반드시 하나만 존재!! (default, static등은 무관)
이걸 계속 생각해야 해..?
🔔 @FunctionalInterface 어노테이션 장착해서 컴파일러가 체크해줌!

abstract method 2개 이상 존재하면 익명의 inner class 사용

구현법 => (type variable_name[,,,,] -> {실행문;};

1. (String str) -> {System.out.println(str);};

2. (str) -> {System.out.println(str);};

3. str -> System.out.println(str)

4. num -> {
	System.out.println(num);
    return num* 2;
5. num -> num*2

계속 발전해짐!

-> 다음에 실행코드블럭 온다고 생각하면 편할 듯!

🔔 Lambda 식 내부에서의 this는 외부 클래스의 instance

외부 클래스의 member 변수 : 접근제한자의 제약 없이 사용 가능
외부 메서드의 local 변수 : final 키워드가 추가된 것으로 동작 -> read only

Stream이 중요한 것만 기억하자

profile
2025년 1년동안 기록

0개의 댓글

관련 채용 정보