BootCamp 28day

GyeongNamΒ·2023λ…„ 12μ›” 25일
0

BootCamp

λͺ©λ‘ 보기
26/49
post-thumbnail

πŸ“… 2023λ…„ 12μ›” 21일

[java 13일차]


28일차: java 심화(6)

Lambda

public class C1502_Anonymous_Class {
    public static void main(String[] args) {
        // 클래슀λͺ…이 Animal이 μ•„λ‹Œ μ΄λ¦„μ—†λŠ” 읡λͺ… ν΄λž˜μŠ€μ™€ 객체λ₯Ό λ™μ‹œμ— 생성
        Animal dog = new Animal() {
            @Override
            public void makeSound(int n) {
                System.out.println("멍멍"+n);
            }
        };
        dog.makeSound(10);
        // 읡λͺ… 객체에 κ΅¬ν˜„λ©”μ„œλ“œκ°€ 1κ°œλ°–μ— 없을 κ²½μš°μ— λžŒλ‹€ ν‘œν˜„μ‹(ν™”μ‚΄ν‘œν•¨μˆ˜)둜 ν‘œν˜„κ°€λŠ₯
        // ()뢀뢄에 λ§€κ°œλ³€μˆ˜ μ§€μ •ν•˜μ—¬ κ΅¬ν˜„μ²΄μ—μ„œ ν™œμš©, λ³€μˆ˜μ˜ κ°œμˆ˜κ°€ λ§Žμ„ λ•ŒλŠ” κ°œμˆ˜μ— 맞좰 지정
        Animal cat = (n) -> System.out.println("μ•Όμ˜Ή"+n);
        cat.makeSound(20);
    }
}
interface Animal{
    void makeSound(int n);
}
public class C1503_Lambda_Expression {
    public static void main(String[] args) {
        // 싀행문이 1쀄 μΌλ•ŒλŠ” {} return μƒλž΅
        // 싀행문이 2쀄 μ΄μƒμΌλ•Œμ—λŠ” {} return ν•„μš”
        // 맀개 λ³€μˆ˜λ₯Ό μˆœμ„œλ‘œ μΈμ§€ν•˜λ―€λ‘œ νƒ€μž…μ„ μ§€μ •ν•΄μ€„ν•„μš”λŠ” μ—†λ‹€.
        Lambda_Interface li = (a, b, c) -> {
            String result = a+b;
            return  result;
        };
        System.out.println(li.makeString("이창선","μ‹¬μž¬ν˜",0));
    }
}
interface Lambda_Interface{
    String makeString(String a , String b, int c);
}

Comparable, Comparator

  • μžλ°”μ—μ„œλŠ” 비ꡐλ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€κ°€ λŒ€ν‘œμ μœΌλ‘œ Comparable , Comparator
    Comparable μΈν…ŒνŽ˜μ΄μŠ€μ—λŠ” compareTo λ©”μ„œλ“œκ°€ μ„ μ–Έ
    Comparator μΈν„°νŽ˜μ΄μŠ€μ—λŠ” compare λ©”μ„œλ“œκ°€ μ„ μ–Έ
class Student implements Comparable<Student>{
    private String name;
    private int age;
    @Override
    public int compareTo(@NotNull Student o) {
        return this.name.compareTo(o.name);
    }
}
Arrays.sort(str, new Comparator<String>() {
	@Override
	public int compare(String o1, String o2) {
		return (o2+o1).compareTo(o1+o2);
	}
});
list1.sort((o1, o2) -> {
	// 기본은 μ˜€λ¦„μ°¨μˆœ (음수 μ˜€λ¦„μ°¨μˆœ)
	return o1.getAge() - o2.getAge();
});
    
// μ΄λ¦„μœΌλ‘œ μ •λ ¬
list1.sort((o1, o2)->{
	return o1.getName().compareTo(o2.getName());
});

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 문제 : κ°€μž₯ 큰 수


github java μ‹€μŠ΅ λ‚΄μš©

profile
503 Service Unavailable Error

0개의 λŒ“κΈ€