과거에 공부했던 언어들을 생각해보게 되었다.c,c++,java,python,js 순으로 공부를 했었고, 언어에 대한 특성을 제대로 알지 못하고 선택했다는 것을 깨달았다. 입문 목적으로 - c,c++ , 웹프로그래밍 목적으로 - java,js , 딥러닝 목적으로 - py
Java HashMap 은 어떻게 동작하는가? 를 읽던중 HashMap에서 버킷관리 방식으로 채택된 Seperate Chaning 이 내부적으로 어떻게 구현되어있는지 궁금해졌다.먼저 "해시 충돌" 이란 1) 서로다른 key 값을 가지지만 같은 hashcode를 반환할때
java는 프로그래밍 방법론 중 하나인 OOP 방법론에 입각한 언어임은 잘 알고 있다. OOP 에 입각하여 java를 어떻게 활용하고 있나 라고 물어보면 상속, 인터페이스, 캡슐화, 추상화, 전략패턴 등이 떠오른다. 이러한 지식들을 한번 더 정리해보고자 한다.여러 객체

Stream 은 java8 부터 등장한 문법으로 기존에 사용하던 for-loop보다 가독성이 좋다는 점에서 많이 쓰인다. 하지만 for-loop 보다 느리며, 알고리즘 효율성 테스트에서 가끔 영향을 줄 때가 있다. 그렇다면 왜 Java의 스트림 API는 for-loop