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 | 29 | 30 |
Tags
- s
- coding test
- Graph
- buffer
- 이것이 자바다
- 이스케이프 문자
- list 컬렉션
- 혼자 공부하는 C언어
- 윤성우 열혈자료구조
- Algorithm
- Selection Sorting
- C programming
- datastructure
- 알기쉬운 알고리즘
- Serialization
- insertion sort
- 메모리구조
- 윤성우의 열혈 자료구조
- C 언어 코딩 도장
- Stack
- R
- stream
- JSON
Archives
- Today
- Total
Engineering Note
[Java] List 컬렉션(ArrayList, LinkedList) 본문
Programming Language/Java
[Java] List 컬렉션(ArrayList, LinkedList)
Software Engineer Kim 2025. 6. 25. 11:36List 컬렉션은 객체를 인덱스로 관리한다.
List 컬렉션에서 공통적으로 사용가능한 List 인터페이스 메서드
ArrayList
- ArrayList에 객체를 추가하면 내부 배열에 객체가 저장. 일반 배열과 차이점은 제한 없이 객체를 추가할 수 있다.
LinkedList
- ArrayList와 사용 방법은 동일하지만 내부 구조는 완전히 다르다. ArrayList는 내부 배열에 객체를 저장하지만, LinkedList는 인접 객체를 체인처럼 연결해서 관리한다.
ArryaList, LinkedList 차이
- LinkedList는 자료를 체인 처럼 관리하기 때문에 특정 위치에서 객체를 삽입하거나 삭제하면 바로 앞뒤 링크만 변경하면 되므로 빈번한 객체 삭제와 삽입에서 ArrayList보다 높은 성능을 보여준다.
ArryaList, LinkedList 속도 측정
package ch15.sec02.exam03;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample {
public static void main(String[] args) {
//ArrayList 컬렉션 객체 생성
List<String> list1 = new ArrayList<String>();
//LinkedList 컬렉션 객체 생성
List<String> list2 = new LinkedList<String>();
//시작 시간과 끝 시간을 저장할 변수 선언
long startTime;
long endTime;
//ArrayList 컬렉션에 저장하는 시간 측정
startTime = System.nanoTime();
for (int i = 0; i < 10000; i++) {
list1.add(0, String.valueOf(i));
}
endTime = System.nanoTime();
System.out.printf("%-17s %8d ns \n", "AarrayList 걸린 시간: ", (endTime - startTime));
//LinkedList 컬렉션에 저장하는 시간 측정
startTime = System.nanoTime();
for (int i = 0; i < 10000; i++) {
list2.add(0, String.valueOf(i));
}
endTime = System.nanoTime();
System.out.printf("%-17s %8d ns \n", "LinkedList 걸린 시간: ", (endTime - startTime));
}
}
출력 결과
참고 자료 : 이것이 자바다
'Programming Language > Java' 카테고리의 다른 글
[Java] JDK, JRE, JVM 개념 및 Java가 실행되는 원리 (0) | 2025.07.07 |
---|---|
[Java] 예외처리와 예외의 종류 (1) | 2025.07.07 |
[Java] 컬렉션 자료구조 (0) | 2025.06.25 |
[Java] Integer.parseInt() (1) | 2025.06.21 |
[Java] String 관련 메서드 charAt, indexOf (0) | 2025.06.20 |
Comments