본문 바로가기
728x90
반응형

LinkedList2

HashMap이 저장되는 형태와 원리, heap, stack 메모리구조 자바 11 에서 HashMap 라이브러리를 살펴보았습니다.    최종 형태부터 보자면 Array가 있고 거기에 LinkedList와 Red-Black Tree가 주렁주렁? 달려있는 모양입니다. 열매마다 key, value가 저장되어 있습니다.   1. 기본 방식 일반적인 HashMap을 사용하는 코드입니다. 메모리영역을 그려보면 다음과 같습니다. new HashMap(); 을 하면 HsahMap 인스턴스가 생성됩니다. put을 하게 되면 HsahMap 인스턴스 안에 Bucket Array가 생성됩니다. 한칸 한칸을 버킷이라고 합니다.Bucket Array 는 Entry 객체 array 입니다. Bucket Array의 최초 길이는 16입니다.  Node 객체는 Entry 인터페이스의 구현체입니다. key.. 2024. 6. 10.
[자구, 알고] Array, List, LinkedList, heap 질문답변 ● Array vs List 차이점 - Array - 메모리 상에 데이터가 연속적으로 저장 - 사용할 크기를 미리 할당하기 때문에 고정된 크기를 갖는다. 그래서 메모리 낭비가 생길 수도 있다. 10을 할당했는데 데이터를 5개만 넣으면 5가 낭비된다. - 인덱스로 접근할 수 있다. - int[] numArray = {1, 2, 3}; -> numArray[0] 인덱스 접근 가능 - List - 메모리 상에 데이터가 비연속적으로 저장 - 사용할 크기를 미리 할당하지 않아도 된다. 때문에 메모리 낭비가 없다. - 인덱스로 접근할 수 없다. - List numList = List.of(1, 2, 3); -> numList.get(0) 인덱스 접근 불가능 - List는 인터페이스이다. - LinkedList, A.. 2023. 4. 7.
728x90
반응형