CS/Java

JAVA - Ramda

빈둥벤둥 2021. 2. 26. 01:09

Ramda


Ramda함수란?

  • JAVA8부터 지원이 되며, 익명함수 라고도 한다.
  • 함수형 인터페이스를 사용한다. 
  • 불필요한 코드를 줄이고 가독성을 향상시키기 위해 나왔다.

 

람다의 표현식

  • (파라미터) -> {몸체}
  • 몸체 부분이 단일 행일 경우 중괄호와 return을 생략할 수 있다.
  • 기본 자바 문법 (문자열 내림차순 정렬)
Arrays.sort(arr, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
    	return o2 - o1; 
    }
});
  • 람다식 문법
Collections.sort(arr, (o1, o2) -> o2 - o1);

 

람다식의 장, 단점

  • 장점
    • 불필요한 반복문을 줄일 수 있어 코드가 간결해 진다.
    • 가독성이 향상된다.
  • 단점
    • 람다식을 사용하여 만드는 익명함수는 재사용이 불가능하다.
    • 디버깅이 다소 까다롭다.

 

Stream API란?

  • JAVA8부터 지원되며, 함수형 인터페이스인 람다식을 적용하여 컬렉션과 같은 저장 요소를 반복적으로 처리할 수 있는 기능이다. 

 

함수형 인터페이스

  • @FunctionalInterface 어노테이션을 선언하여 사용한다.
  • 구현해야 할 추상메소드가 하나만 존재하는 인터페이스를 의미한다.

 

reference

velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C

khj93.tistory.com/entry/JAVA-%EB%9E%8C%EB%8B%A4%EC%8B%9DRambda%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%82%AC%EC%9A%A9%EB%B2%95

bamdule.tistory.com/75