언어/java

ArrayList & LinkedList

STUFIT 2023. 9. 5. 11:35
반응형
package chap_09;

import java.util.ArrayList;
import java.util.Collections;

public class _04_ArrayList {
    public static void main(String[] args) {
        // 컬렉션 프레임워크
        // 배열의 단점을 보완하기 위해 나온 클래스들
        // 기존에는 요렇게 배열을 사용했었음
        int[] arr = new int[10];
        arr[0] = 1;
        arr[1] = 2;
        // 컬렉션 프레임워크는 원하는만큼 넣을 수 있음.
        // 1. ArrayList
        ArrayList<String> list = new ArrayList<String>();
        // 1-1 추가
        list.add("이관영");
        list.add("이관홍");
        list.add("이창구");
        list.add("둘리");
        System.out.println(list); // 모든 목록
        System.out.println(list.get(0)); // 이관영
        System.out.println(list.get(1)); // 이관홍
        System.out.println(list.get(2)); // 이창구
        System.out.println(list.get(3)); // 둘리

        System.out.println("-------------------------------------");
        // 1-2 삭제
        System.out.println("삭제 전 :"+list.size()); // 4
        list.remove(2); // 이창구 삭제
        System.out.println("삭제 후 :"+list.size()); // 3
        System.out.println(list.get(2)); // 둘리
        System.out.println("-------------------------------------");
        System.out.println("남은 수 :"+list.size()); // 3
        list.remove(list.size()-1); // 둘리 삭제
        System.out.println("삭제 후 남은 수:"+list.size()); // 2
        System.out.println(list);
        System.out.println("-------------------------------------");
        // 1-3-1 순회 1
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("-------------------------------------");
        // 1-3-2 순회 2
        for(String s : list) {
            System.out.println(s);
        }
        System.out.println("-------------------------------------");
        // 2. Set
        // 2-1 변경
        System.out.println(list.get(0));
        list.set(0, "이관영을 이관영2로 바꿈!");
        System.out.println(list.get(0));
        System.out.println("-------------------------------------");
        // 2-2 확인(위치를 반환해줌)
        System.out.println(list.indexOf("이관영2")); // 없으면 -1
        System.out.println(list.indexOf("이관홍"));
        // 2-3 확인여부 (contains)
        if(list.contains("이관영2")) {
            System.out.println("이관영2가 있음");
        } else {
            System.out.println("이관영2가 없음");
        }
        System.out.println("-------------------------------------");
        // 2-4 전체 삭제(clear)
        list.clear();
        System.out.println(list);
        if(list.isEmpty()) {
            System.out.println("비어있음");
        } else {
            System.out.println("비어있지 않음");
        }
        System.out.println("-------------------------------------");
        // 2-5 정렬(Collections.sort)
        list.add("이관영");
        list.add("이관홍");
        list.add("이창구");
        list.add("둘리");
        Collections.sort(list);
        for(String s : list) {
            System.out.println(s);
        }
        // 3. Map


    }
}
반응형

'언어 > java' 카테고리의 다른 글

지정자(public, static, void 등)  (0) 2023.10.04
HashSet & HashMap  (0) 2023.09.08
인터페이스(Interface)  (0) 2023.08.28
언어특징 및 개발환경  (0) 2023.08.11
[JAVA] 은닉화 및 접근제어자, 생성자  (0) 2023.04.16