반응형
자바의 배열을 사용하고자 하면 저장할 값의 크기를 정확히 알고있어야 한다는 단점이 있다. 저장할 자료형의 개수를 명확하게 알지 못하는 경우에 사용하는 것이 List (리스트) 이다.
ArrayList
리스트 자료형에서 가장 기본적으로 사용하는 것이 ArrayList 이다. 자바의 제네릭 방식으로 타입을 미리 지정해주어 사용한다.
ArrayList<String> pitches = new ArrayList<String>();
제네릭(Generics)
자료형의 안정성을 높여주는 기능이다. 자료형을 강제로 바꿀 때(타입 변환) 생길 수 있는 캐스팅 오류를 줄일 수 있다. ArrayList 객체를 생성할 때 내부에 저장되는 요소의 타입을 명시할 수 있다. 해당 ArrayList 는 지정된 타입의 객체만을 저장할 수 있으며, 다른 타입의 객체를 추가하려고 시도하면 컴파일 오류가 발생한다.
ArrayList<String> pitches = new ArrayList<String>();
위의 ArrayList 는 문자열 타입인 String 객체만을 저장할 수 있다. 제네릭 메서드를 사용하면 타입 변환을 자동으로 처리할 수 있다. 이렇듯 제네릭스는 자바에서 타입 안정성을 강화하고, 코드의 가독성과 재사용성을 높일 수 있는 기능이다.
Add
add 를 통해 값을 추가할 수 있다.
// 위치에 상관없이 순서대로 입력
pitches.add("값");
// 직접 위치 지정
pitches.add(0, "값");
Get
add 로 추가한 값을 출력한다. 위치를 지정해 원하는 값을 출력한다.
pitches.get(0); // 0번째 위치의 값 출력
Size
ArrayList 요소의 개수를 출력한다.
pitches.size();
Contains
해당 값을 ArrayList 가 가지고 있는지 확인한다.
pitches.contains("값");
// 값을 가지고 있는 경우 true, 아닌 경우 false로 반환
Remove
요소 값을 삭제한다.
// 객체 삭제
pitches.remove("A값"); // A값이 리스트에 있으면 리스트에서 삭제하고 true 반환
// 인덱스 삭제
pitches.remove(0); // 0번째 인덱스 값을 삭제하고 0번째에 들어있는 값을 반환
반응형