Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MySQL
- 엔티티설계
- 자바
- 오버라이딩
- 생성자
- 프로젝트
- 한번에insert하기
- 파비콘에러
- 웹동작방식
- git commit취소
- qclass
- 메소드
- java기초
- 상속
- 코린이
- http
- Git
- 레포지토리설계
- 다운캐스팅
- static
- 업캐스팅
- 형변환
- java
- 스프링시큐리티
- JPA
- 기초
- 웹스토리지 사용법
- 네트워크
- 0으로변환
- 스프링부트
Archives
- Today
- Total
딱콩이의 봄
LinkedList와 ArrayList 비교 본문
리스트는 모든 프로그래밍 언어에서 가장 유용한 자료구조 중 하나입니다. LinkedList와 ArrayList는 모두 java에서 제공하는 List 인터페이스를 구현한 Collection 구현체입니다. 하지만 인터페이스만 같을 뿐 내부적으로 동작하는 방식은 다르다고 합니다!
ArrayList
ArrayList는 내부적으로 데이터를 배열에서 관리하며 데이터의 추가, 삭제를 위해 임시 배열을 생성해 데이터를 복사하는 방법을 사용하고 있습니다.
대량의 자료를 추가/삭제하는 경우에는 그만큼 데이터의 복사가 많이 일어나게 되어 성능 저하를 일으킬 수 있습니다. 반면 각 데이터는 인덱스를 가지고 있기 때문에 한 번에 참조가 가능해 데이터의 검색에는 유리한 구현체입니다.
LinkedList
LinkedList는 내부적으로 양방향의 연결리스트로 구성되어 있어 참조하려는 원소에 따라 처음부터 정방향 또는 역순으로 조회가 가능하지만, LinkedList는 순차적 접근이기 때문에 검색의 속도가 느립니다. ArrayList와 같이 데이터의 추가, 삭제 시 불필요한 데이터의 복사가 없어 데이터의 추가, 삭제 시 유리한 반면에 데이터의 검색 시에는 처음부터 노드를 순회해야 하기 때문에 검색이 빈번하다면 ArrayList를 사용하는 것이 좋습니다.
'개발 > JAVA' 카테고리의 다른 글
JAVA 주요 특징💡💡 (0) | 2022.08.26 |
---|---|
JAVA 주요 특징💡 (0) | 2022.08.26 |
HashMap과 HashTable의 차이 (0) | 2022.08.16 |
Hash 기본 개념과 구조 (0) | 2022.08.16 |
JAVA공부 (0) | 2022.08.16 |
Comments