Java Collectors.toMap()을 통한 List -> Map 변환
·
오늘의 코드
Java Collectors.toMap()을 통한 List -> Map 변환Java 개발 중 엔티티나 DTO의 키를 통해 List를 Map으로 변환하는 일이 자주 생긴다.그때, Java Collectors.toMap()을 통해 아래와 같이 간단하게 Map으로 변환할 수 있다.// ProductDto의 List를 생성final List productDtoList = getProductDtoList();// ProductDto의 ID를 통해 Map을 생성 // key: ProductDto.id, value: ProductDtofinal Map productDtoMap = productDtoList.stream() .collect(Collectors.toMap( ProductDto::..
Mac에서 여러 개의 Java 버전 관리하기 (Mac/Linux 명령어를 곁들인)
·
개발환경
Java 개발을 하다 보면 여러 가지 Java 버전을 바꿔가며 사용해야 하는 경우가 있습니다.이번 포스트는 Mac 환경에서 여러 개의 Java 버전을 바꿔가며 사용하는 방법을 설명하고자 합니다. 추가로, 필자는 주로 Windows 환경에서 개발을 하다 보니 Mac(혹은 Linux) 환경에서 개발환경을 구축하는 것이 매우 낯설었습니다.단순히 Java 버전을 바꾸는 것임에도 그 과정에서 궁금한 점들이 많이 발생하였고, 이것저것 찾아보느라 단순히 Java 구성하는데도 시간이 오래 걸렸습니다. 처음 Mac에 Java 개발환경을 구축하려는 분들이 저처럼 잡다한(?) 궁금증 때문에 시간낭비를 하지 않았으면 하는 마음에 이번 포스트를 정리하여 올립니다. 혹시라도 글에 오류가 있다면 댓글로 바로잡아주시면 감사하겠습니다..
[자료구조] 선형 자료 구조 - 1 (동적 배열)
·
알고리즘/자료구조
선형 자료 구조 - 동적배열 선형 자료 구조란 연속된 자료를 저장하기 위한 자료 구조입니다.이에 해당하는 가장 기초적인 자료구조는 배열로써, 배열의 원소들은 모두 연속된 메모리 위치에 저장되며, 인덱스를 통해 원소를 참조하거나 변경하는데 걸리는 시간이 O(1)에 수행되는 두 가지 특징을 갖고 있습니다. 배열을 사용하는 데 있어 크게 두 가지 단점이 있습니다. 첫째로는 배열을 사용하기 위해선 먼저 배열의 크기를 정해야 하기 때문에 만약 배열의 크기를 넘겨서 자료를 저장하고 싶다면 더 큰 크기의 배열을 새로 할당받아 사용해야 합니다. 둘째로는 배열의 중간에 원소를 삽입하거나 삭제할 경우, 나머지 원소들의 연속적인 순서를 맞추기 위해 삽입/삭제가 이루어진 위치의 원소 이후부터의 원소들을 (삭제의 경우)앞쪽으로..