π 2023λ 12μ 21μΌ
[java 13μΌμ°¨]
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 μΈν νμ΄μ€μλ 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()); });