Java 공부를 하다 보면 거의 반드시 사용하게 되는 자료구조가 있다.👉 HashMap실무에서도 진짜 엄청 많이 사용한다.왜냐면:✔ 조회 빠름✔ 저장 빠름✔ key-value 구조 편리✔ 대부분 O(1) 성능 기대때문이다.근데 많은 사람들이 그냥 이렇게만 사용한다.Map map = new HashMap();그리고 내부 동작은 잘 모른다.하지만 면접이나 실무에서는:✔ hashCode 왜 쓰는지✔ bucket이 뭔지✔ 충돌은 어떻게 해결하는지✔ 왜 평균 O(1)인지✔ equals는 왜 필요한지이런 질문이 진짜 많이 나온다.오늘은 HashMap 내부 동작 원리를 초보자도 이해할 수 있게 쉽게 정리해보겠다.HashMap 이란?👉 Key-Value 형태로 데이터를 저장하는 자료구조예시:{ "name"..
자바 코드 작성하다 보면 진짜 많이 보는 에러가 있다.NullPointerException일명:NPE처음 개발할 때는 거의 반드시 한 번 이상 겪는다.그리고 대부분 이런 코드를 작성하게 된다.if(user != null) {}근데 null 체크가 계속 늘어나면:✔ 코드 지저분해짐✔ 가독성 저하✔ 실수 증가문제가 발생한다.그래서 Java 8부터 등장한 것이:👉 Optional이다.오늘은 Optional을 제대로 사용하는 방법을 초보자도 이해할 수 있게 쉽게 정리해보겠다.Optional 이란?👉 null 값을 안전하게 처리하기 위한 컨테이너 객체쉽게 말하면:"값이 있을 수도 있고없을 수도 있다"를 표현하는 객체다.왜 Optional이 필요할까?기존 방식:User user = findUser();if(us..
자바 Stream API 공부하다 보면 가장 많이 등장하는 3가지가 있다.👉 filter()👉 map()👉 reduce()처음엔 이름만 보면 솔직히 헷갈린다.근데 이 3개만 제대로 이해하면:✔ Stream API 핵심 구조✔ 함수형 프로그래밍✔ 데이터 가공✔ 실무 컬렉션 처리를 거의 다 이해할 수 있다.실제로 실무에서도:조회 → 필터링 → 변환 → 집계패턴이 엄청 자주 나온다.오늘은 초보자도 이해할 수 있게filter/map/reduce를 실전 예제로 쉽게 정리해보겠다.Stream API 기본 흐름대부분 이런 구조다.데이터 조회↓filter()↓map()↓reduce()각 역할 먼저 이해하기함수역할filter조건 필터링map데이터 변환reduce결과 누적예제 데이터 준비List numbers = ..
자바 Stream API 공부하다 보면 거의 반드시 헷갈리는 개념이 있다.👉 map()👉 flatMap()처음 보면 이름도 비슷하다.그리고 대부분 이런 생각을 한다."둘 다 데이터 변환 아닌가?"맞다.둘 다 데이터를 변환한다.근데 핵심 차이는 이것이다.map = 변환flatMap = 펼치면서 변환이 차이를 이해하면:✔ Stream API 구조✔ 컬렉션 데이터 처리✔ 중첩 리스트 처리✔ 함수형 프로그래밍개념이 한 번에 연결된다.실무에서도 엄청 자주 사용한다.오늘은 map vs flatMap 차이를 초보자도 이해할 수 있게 쉽게 정리해보겠다.map() 이란?👉 데이터를 하나씩 변환하는 기능쉽게 말하면:A → B변환 작업이다.가장 쉬운 예제List names = List.of("kim", "lee"..