[JAVA] HashMap LinkedHashMap 차이점
·
과거의 이력/JAVA
데이터를 모아서 관리할 수 있는 클래스를 컬렉션이라고 한다. 컬렉션은 그 타입에 따라 내부에 데이터를 저장하는 구조와 처리하는 방법이 다르다. 내부에서 처리하는 방법에 따라 데이터의 탐색이 빠른 경우가 있고, 추가/제거가 빠른 경우가 있다. 사용하는 컬렉션의 특성을 잘 알고 사용해야 불필요한 성능 저하를 피할 수 있다. (즉 상황에 맞는 형태의 자료구조를 써야한다!) 자바에서 제공하는 컬렉션의 대표적인 예로 List, Map, Set 등이 있다. 그 중 내가 이번에 정리할것은 Map은 Key 값과 Value 값을 관리해주는 컬렉션이다. Key - Value 쌍은 java.util.Map.Entry 클래스로 정의되며 이 Entry 들을 저장, 관리 해주는 컬렉션이 Map이다 HashMap과 LinkedHa..
[javascript] 자바스크립트 구조분해할당 (직관적인 코드를 짜는법)
·
과거의 이력/javascript
기본 선언방식의 아쉬운점 사실 로직을 짜다보면 가독성을 높이기 위해 변수를 선언하는 경우가 있다. 예를어 아래처럼 사용자 정보가 담긴 배열이 있다고 하자. (설명을 위해 복잡한 인덱스를 만들어보았다.) // 사용자 아이디 userInfoArr[0][1].userId[0]; // 사용자 이름 userInfoArr[0][1].userName[0]; // 사용자 주소 userInfoArr[0][1].userAddr[0]; 특정 값을 반복적으로 사용해야하는 경우가 있다고 할때 아래처럼 코드의 길이를 줄이고 가독성을 높이기 위해 명확한 뜻을 가진 변수명을 선언하곤 한다. const uInfo = userInfoArr[0][1]; uInfo.userId[0]; uInfo.userName[0]; uInfo.userA..
[빅오표기법] 빅오표기법이란? (Big O notation)
·
과거의 이력/기본개념 (손필기)
. 개발자로써 알고리즘을 짜야하고, 누군가가 만들어놓은 알고리즘을 자주 사용한다. 과연 그 알고리즘은 빠른 알고리즘일까? 이것을 평가하기위한 지표가 빅오표기법(Big O notation) 이다. 1. 빅오표기법이란? 상단에서 언급했듯 빅오표기법은 알고리즘이 얼마나 빠른지를 나타내는 표기법이다. 실제로 대문자 O를 사용하기에 빅.오. 표기법이라고 한다.(정말로..!) 빅오표기법은 '초' 와같은 시간단위로 속도를 세는것이 아니라 연산 횟수를 비교하기 위한것이다. 따라서 연산양이 많아질때 알고리즘에 걸리는 시간이 어떤식으로 증가하는지 알 수 있다. 2. 예시 100개의 원소를 가진 리스트를 단순탐색과 이진탐색을 각각 수행한다고 해보자. 이진탐색은 7밀리초가 걸리고 단순탐색은 100밀리초가 걸린다. 해당 결과로..