| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- 자바프로그래밍
- 코딩테스트
- 개발자취업
- 프로그래머스
- 코딩테스트팁
- 코딩테스트준비
- 코딩인터뷰
- 예외처리
- 클린코드
- 백준
- 가비지컬렉션
- 자바개발
- 자바
- HashMap
- 알고리즘
- 개발자팁
- 자바공부
- Java
- 개발공부
- 정렬
- 자바기초
- 멀티스레드
- 코딩공부
- JVM
- 프로그래밍기초
- 알고리즘공부
- 메모리관리
- 자료구조
- 객체지향
- Today
- Total
목록linkedlist (2)
코드 한 줄의 기록
자바에서 가장 많이 쓰는 자료구조 둘을 꼽으라면 단연 ArrayList와 LinkedList일 겁니다. 근데 이 둘의 차이를 제대로 이해하고 있는 개발자는 생각보다 많지 않더라고요. 제가 공부하면서 깨달은 것들을 정리해볼게요.메모리 구조부터 이해해야 한다먼저 둘의 가장 근본적인 차이부터 봅시다. ArrayList는 내부적으로 배열을 사용합니다. 배열은 메모리 상에서 연속된 공간에 데이터를 저장하죠. 메모리 주소가 차례대로 이어져 있다는 뜻입니다. LinkedList는 노드(Node)라는 객체들을 체인처럼 연결해서 사용합니다. 각 노드는 실제 데이터와 다음 노드의 참조(주소)를 가지고 있어요. 그래서 메모리 상에서는 떨어져 있을 수 있지만, 참조로 연결되어 논리적으로는 이어진 거죠. 이 차이가 성능에 직결..
배열(Array)을 처음 배웠을 때 생각했던 게 있어요. 크기가 미리 정해지니까 데이터를 추가하거나 삭제할 때마다 새로운 배열을 만들어야 한다는 점이 정말 불편했습니다. 게다가 데이터가 중간에 삭제되면 뒤에 있는 모든 요소를 앞으로 한 칸씩 이동시켜야 하고요. 이런 문제들을 해결하기 위해 Java가 제공하는 것이 바로 컬렉션 프레임워크(Collection Framework)입니다. 요즘 Java 개발을 하면서 컬렉션 프레임워크를 모르고는 단 하루도 버틸 수 없을 정도로 중요하더군요. 특히 List, Set, Map 이 세 가지는 정말 자주 마주치게 됩니다. 이 글에서는 제가 공부하면서 배운 내용을 여러분과 함께 정리해보겠습니다.컬렉션 프레임워크란 무엇인가?먼저 컬렉션 프레임워크가 정확히 뭔지 알아봅시다...