[Day 7 | Java] 컬렉션 프레임워크 소개

y♡ding·2024년 10월 22일
0

데브코스 TIL

목록 보기
35/163

<수업코드>

package com.util1;

import java.util.ArrayList;
import java.util.List;

public class ArrayListEx01 {
    public static void main(String[] args) {
        // 1. ArrayList 객체 생성 (기본 크기로 생성)
        ArrayList ar1 = new ArrayList();

        // 2. ArrayList 객체 생성 (크기를 100으로 미리 지정)
        ArrayList ar2 = new ArrayList(100);

        // 3. List 인터페이스를 사용하여 ArrayList 생성
        // List는 인터페이스이며, ArrayList는 이를 구현한 클래스
        List list = new ArrayList();

        // 4. ArrayList에 데이터 추가 (add 메서드를 통해 요소 추가)
        ar1.add("홍길동");

        // 5. 문자열을 Object 타입으로 저장 (자동으로 업캐스팅)
        String str = "박문수";
        Object obj = str;
        ar1.add(obj);  // Object로 업캐스팅된 문자열 "박문수" 추가
        ar2.add("임꺽정");

        // 6. ArrayList의 크기 확인 (저장된 요소의 개수를 반환)
        System.out.println(ar1.size());  // ar1의 크기 출력 (2)

        // 7. ArrayList의 전체 요소 출력
        System.out.println(ar1);  // ar1에 저장된 요소 출력 (홍길동, 박문수)

        // 8. ArrayList에 요소 추가
        ar1.add("이몽룡");  // ar1에 "이몽룡" 추가
        System.out.println(ar1);  // ar1의 요소 출력 (홍길동, 박문수, 이몽룡)

        // 9. ArrayList에서 요소를 가져와서 형변환
        // ar1.get(0)은 Object 타입이므로, String으로 다운캐스팅 필요
        String str1 = (String) ar1.get(0);  // 첫 번째 요소를 가져와서 String으로 형변환
        System.out.println(str1);  // 첫 번째 요소 출력 (홍길동)

        // 10. for 문을 이용하여 ArrayList의 모든 요소 출력
        // 인덱스를 이용하여 요소를 하나씩 출력
        for (int i = 0; i < ar1.size(); i++) {
            System.out.println((String)ar1.get(i));  // 각 요소를 가져와서 형변환 후 출력
        }

        // 11. 향상된 for 문을 이용하여 ArrayList의 모든 요소 출력
        // for-each 문을 통해 간결하게 요소 출력
        for (Object data : ar1) {
            System.out.println((String)data);  // Object 타입을 String으로 형변환하여 출력
        }
    }
}

1. 컬렉션 프레임워크 소개:

  • 자바에서 데이터를 효율적으로 저장하고 관리하기 위한 다양한 자료구조 클래스를 제공하는 라이브러리입니다. 이를 통해 데이터의 ` 등의 작업을 쉽게 처리할 수 있습니다.
  • 주요 인터페이스로는 List(리스트), Set(집합), Map(맵)이 있으며, 각 인터페이스를 구현한 다양한 클래스들이 있습니다.

1. ArrayList 소개:

  • ArrayList는 자바의 List 인터페이스를 구현한 클래스로, 배열과 비슷하지만 크기가 동적으로 변합니다.
  • 배열처럼 인덱스를 사용하여 요소에 접근할 수 있지만, 요소의 추가와 삭제가 더 유연하게 가능합니다.
  • 요소가 추가되면 자동으로 크기가 조정되며, 중복된 값을 허용합니다.

2.ArrayList의 주요 기능:

  • add(): 요소를 추가할 수 있습니다. 배열처럼 고정된 크기가 아니기 때문에 요소가 추가될 때마다 자동으로 크기가 늘어납니다.
  • get(): 특정 인덱스의 요소를 가져올 수 있습니다. 인덱스는 0부터 시작합니다.
  • size(): 리스트의 크기(요소의 개수)를 확인할 수 있습니다.
  • oString(): ArrayList의 모든 요소를 문자열로 출력할 수 있습니다.

3. 형변환의 필요성:

  • ArrayList는 기본적으로 Object 타입을 저장합니다. 따라서 특정 타입의 요소를 가져올 때는 다운캐스팅이 필요합니다. 위 예제에서는 Object 타입으로 저장된 요소를 String으로 형변환하는 과정을 보여줍니다.

4. 반복문을 통한 요소 출력:

  • for 문과 향상된 for 문(for-each)를 통해 ArrayList에 저장된 모든 요소를 순회하면서 출력할 수 있습니다.

컬렉션 프레임워크의 장점:

  • 동적 크기: ArrayList는 배열처럼 고정된 크기가 아니며, 동적으로 크기가 증가합니다.
  • 데이터 구조의 선택: 각 상황에 맞는 자료구조를 선택해 사용할 수 있어 성능을 최적화할 수 있습니다.
  • 데이터 추가/삭제의 유연성: 컬렉션을 사용하면 데이터를 간편하게 추가, 삭제할 수 있으며, 배열처럼 복잡한 과정을 거치지 않아도 됩니다.

0개의 댓글

관련 채용 정보