프로그래밍/JAVA

ArrayList와 LinkedList

Baesj 2021. 8. 6. 17:44

ArrayList

Arraylist의 기본 크기는 10이다

private static final int DEFAULT_CAPACITY = 10;

 

시간 복잡도 및 특징

Add        - O(1)

Remove - O(n)

Get         - O(1)

 

임시 배열을 생성해서 복사하여 추가, 삭제를 함

검색이 빠름

 

LinkedList

시간 복잡도 및 특징

Add        - O(1)

Remove - O(1)

Get         - O(n)

 

데이터 추가 / 삭제가 빠름

검색이 느림

 

기본 활용

추가

add()

변경

set()

값 확인

get()

제거

remove()

크기 확인

size()

 

LinkedList에는 addFirst(), addLast(), removeFirst(), removeLast() 등이 더 있다.

 

import java.util.ArrayList;
import java.util.LinkedList;

public class ExList {
    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList();
        //추가
        arrayList.add(1);
        arrayList.add(0, 20);
        //변경
        arrayList.set(0, 10);
        //값 확인
        Integer rst1 = arrayList.get(0);
        System.out.println(rst1);
        //제거
        arrayList.remove(0);
        //전체 제거
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.clear();

        //----//

        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);

        //전체 값 확인
        arrayList.forEach(System.out::println);

        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(i);
        }

        LinkedList<Integer> linkedList = new LinkedList<>();
        //추가
        linkedList.add(1);
        linkedList.addFirst(1);
        linkedList.addLast(1);
        linkedList.add(0, 10);
        //변경
        linkedList.set(0, 10);
        //값 확인
        Integer rst2 = linkedList.get(0);
        System.out.println(rst2);
        //제거
        linkedList.remove(0);
        linkedList.removeFirst();
        linkedList.removeLast();
        //전체 제거
        linkedList.add(1);
        linkedList.add(2);
        linkedList.add(3);
        linkedList.clear();

        //----//

        linkedList.add(1);
        linkedList.add(2);
        linkedList.add(3);

        //전체 값 확인
        linkedList.forEach(System.out::println);

        for (int i = 0; i < linkedList.size(); i++) {
            System.out.println(i);
        }
    }
}

 

 

 

'프로그래밍 > JAVA' 카테고리의 다른 글

JAVA char <-> String 변환  (0) 2021.08.25
HashMap  (0) 2021.08.19
자바 replaceAll 정규식 특수문자 제거  (0) 2021.08.01
자바 random 함수와 round 함수 이해  (0) 2021.07.27
Date와 Time  (0) 2021.07.25