오늘은 List에 대해 공부해 보겠습니다.
List는 순서가 있는 데이터의 집합이다. (데이터 중복을 허용함) - 배열과 비슷하다.
List에는
ArrayList : 배열처럼 일렬로 데이터를 저장하고 조회하여 순번 값을 하나씩 조회할 수 있
있습니다.
LinkedList : 메모리에 남은 공간을 요청해서 여기저기 나누어서 실제 값을 담아 놓고,
실제 값을 담아 놓고, 실제 값이 있는 주소값을 목록을 구성하고 저장한다.
기본적인 기능은 동일하지만 LinkedList는 값을 나누어 담기 때문에 모든 값을 조회하는
속도가 느립니다. 대신, 중간에 추가하거나 삭제할 때는 속도가 빠릅니다.
중간에 값을 추가하는 기능이 있습니다. (속도 빠름)
선언 : LinkedList linkedList 형태로 선언합니다.
생성 : new LinkedList(); 형태로 생성합니다.
값 추가 : linkedList.add({추가할 값})
값 삭제 : linkedList.remove({삭제할 순번})
전체 출력 : linkedList.toString()
간단한 예제로 한번 알아보겠습니다.
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>(); // 선언 및 생성
linkedList.add(18);
linkedList.add(29);
linkedList.add(45);
System.out.println(linkedList.get(0));
System.out.println(linkedList.get(1));
System.out.println(linkedList.get(2));
System.out.println(linkedList.toString());
추출 값은
18
29
45
[18, 29, 45]
linkedList.add(2, 4);
System.out.println(linkedList);
해당 값은 2,(3번째)에 4라는 값을 넣는다.
linkedList.set(1, 10);
System.out.println(linkedList.get(1));
해당 값은 1,(2번째) 값을 10으로 바꿔준다.
linkedList.remove(1);
System.out.println(linkedList);
해당 값은 1,(2번째 값을 제거한다.
linkedList.clear();
System.out.println(linkedList);
전체 값을 삭제합니다.