230306 컬렉션

허크·2023년 3월 6일
0

Enum

enum ProgramingLanguage {JAVA, PYTHON, HTML, HTML}
enum LaptopBrand {APPLE, ASUS, LENOVO, DELL}
  • 여러 상수들을 편리하게 선언, 관리가능
  • 상수명의 중복을 피하고 타입에 대한 안정성을 보장
  • switch문에서도 작동이 가능
enum CupSize {
	TALL,
    GRANDE,
    VENTE
    }

public class Main {
    public static void main(String[] args) {
        CupSize cupSize = CupSize.GRANDE;

        CupSize[] allCupSizes = CupSize.values();
        for(CupSize x : allCupSizes) {
            System.out.printf("%s=%d%n", x.name(), x.ordinal());
        }

        CupSize findCupSize = CupSize.valueOf("TALL");
        System.out.println(findCupSize);
        System.out.println(CupSize.TALL == CupSize.valueOf("TALL"));

        switch(cupSize) {
            case TALL:
                System.out.println("작은 컵");
                break;
            case GRANDE:
                System.out.println("중간 컵");
                break;
            case VENTE:
                System.out.println("큰 컵");
                break;
        }
    }
}

//출력값
TALL=0
GRANDE=1
VENTE=2
TALL
true
중간 컵
  • values() : 열거 객체들을 배열로 리턴
  • name(), ordinal() : 열거 객체의 문자열, 순번을 리턴
  • valueOf() : 일치하는 열거 객체를 리턴

제너릭

// 제너릭 클래스
class Basket<T> {
    private T item;

    public Basket(T item) {
        this.item = item;
    }

    public T getItem() {
        return item;
    }

    public void setItem(T item) {
        this.item = item;
    }
}
// 제너릭 메서드
public <T> void add(T element) {}
  • 타입을 구체적으로 정하지 않고 일반화해두는 것
Basket<String> basket1 = new Basket<String>("기타줄");
  • 인스턴스 선언시 제너릭의 타입을 지정해줄 수 있음

예외 처리

try {
		// 여기 있는 코드를 시도해보고,
    }
catch ("예외") { // 예외에 해당하는 예외가 발생하면
    	// 여기 있는 코드를 실행해!
    }
finally {
        // 예외가 발생하던 안하던, 여기 있는 코드는 무조건 실행해!
    }

컬렉션 프레임워크

컬렉션을 다루는 주요 메서드를 미리 정의해 놓은 것

컬렉션

여러 데이터들을 그룹으로 묶어놓은 것

profile
codestates seb 44th // 다크모드로 보는걸 추천드립니다

0개의 댓글