학습로그
[동작 파라미터] 모던 자바 인 액션 2장 - 4
내용
- 동작을 파라미터화 하는 방법을 학습
- 함수형 인터페이스의 동작 원리를 학습
[Lambda] 모던 자바 인 액션 3장 - 5
내용
- 람다의 형식 추론에대해 학습
- 함수형 인터페이스에 대해 학습
링크
- https://parkadd.tistory.com/60 - 블로그 정리
[Stream] 모던 자바 인 액션 4장, 5장 - 5
내용
- Java8에서 추가된 Stream API에 대해 학습
- 컬렉션과 Stream의 외부반복, 내부반복 학습
- 중간 연산, 최종 연산의 개념 학습
[Stream] distinct 와 sorted -5
내용
- 스트림의 중간연산 distinct와 sorted중 어떤 것을 먼저 할 때 더 빠른가 에 대해 실험
list.stream() .distinct() .sorted() list.stream() .sorted() .distinct()
sorted()는 comparator를 이용해서 정렬
distinct()는 정렬된 데이터와 아닌 데이터를 처리하는 로직이 다르다
- 전자의 경우 정렬된 데이터를 순차적으로 equals로 비교하여 처리
- 후자의 경우 hashSet을 이용해서 처리
- distinct를 먼저 할 경우
- 정렬해야할 모수가 적어진다.
- hashSet.contains와 정렬된 데이터를 동등비교하는 것은 큰 차이가 없어보임
- (후자의 경우도 전체를 iterate하는 것이 아니라 이전 값과 동일한지만 비교하니 둘다 O(1) 일 수 있음)
dinstinct가 정렬할 데이터 모수가 적어져서 연산 비용이 줄었다(?)
학습로그
[일급 컬렉션] Stream API - 1
내용
- 기존에는 일급 컬렉션에서 getter인 toList 같은 메서드를 호출해서 일급 컬렉션의 필드를 가져온 후 stream을 호출
players.toList().stream().map(...)
- 일급 컬렉션에서 getter 없이 stream을 사용할 수 있도록 구현
players.stream().map(...)
'학습로그' 카테고리의 다른 글
[레벨2] 지하철 노선도 관리 미션 학습로그 (0) | 2021.05.21 |
---|---|
[레벨2] 배포 미션 학습로그 (0) | 2021.05.21 |
[레벨2] 체스-Spring 적용 학습로그 (0) | 2021.04.23 |
[레벨1] 체스 학습로그 (0) | 2021.03.26 |
학습 로그란? (0) | 2021.03.08 |
댓글