일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 보조 스트림
- 메서드
- 코린이
- 코딩
- SSR
- ArrayList
- 새벽공부
- throws
- try-catch
- FileInputStream
- 자바
- Java
- 예외 처리
- 초보개발자
- 상속
- 바이트 단위 스트림
- MPA
- 파이팅
- 자료형
- 변수
- exception
- 졸리다
- 다형성
- 백엔드
- node.js
- 인스턴스
- 인터페이스
- 개발자
- 배열
- 문자 단위 스트림
- Today
- Total
SHUSTORY
07-3 ArrayList 클래스 사용하기 본문
기존 배열의 단점과 ArrayList
기존 배열은 항상 배열 길이를 정하고 시작했다.
그런데 배열을 사용하는 도중에 배열 길이 변경이 불가하며
배열은 중간에 있는 요소를 비워 둘 수 없으므로 배열을 수정하기 복잡하다는 불편함이 있다.
자바는 객체 배열을 더욱 쉽게 사용할 수 있도록 객체 배열 클래스 ArrayList를 제공한다.
ArrayList는 객체 배열을 관리할 수 있는 멤버 변수와 메서드를 제공한다.
ArrayList 클래스의 주요 메서드
메서드 | 설명 |
boolean add(E e) | 요소 하나를 배열에 추가한다. E는 요소의 자료형을 의미한다. |
int size( ) | 배열에 추가된 요소 전체 개수를 반환한다. |
E get(int index) | 배열의 index 위치에 있는 요소를 반환한다. |
E remove(int index) | 배열의 index 위치에 있는 요소 값을 제거하고 그 값을 반환한다. |
boolean isEmpty | 배열이 비어 있는지 확인한다 |
add( ) 메서드를 통해 배열 길이와 상관없이 객체를 추가할 수 있다.
배열의 길이가 추가될 요소 개수보다 부족할 경우 배열을 더 키우도록 구현되어 있다.
또한 배열 중간의 어떤 요소 값이 제거되면 그다음 요소 값을 하나씩 앞으로 이동하도록 구현되어 있다.
ArrayList 클래스 활용하기
<E>와 같은 형태를 '제네릭 자료형'이라고 한다.
ArrayList를 사용할 때 어떤 자료형 객체를 사용하여 프로그래밍할 것인지 선언할 수 있다.
배열을 선언할 때 <E> 부분에 사용할 객체의 자료형(E)을 쓰면 된다.
위와 같이 작성할 수 있다.
ArrayList는 java.util 패키지에 구현되어 있는 클래스로
ArrayList를 사용하기 위해서는 컴파일러에게 ArrayList가 어디에 구현되어 있는지 알려줘야 한다.
이렇게 내 코드에 없는 클래스를 가져와 사용할 때 클래스가 어디에 구현되어 있는지 알려주기 위해
코드 맨 위에 선언하는 것을 임포트(import) 해준다고 한다.
즉 ArrayList를 사용하려면 코드 상단에 import java.util.ArrayList; 를 작성하도록 한다.
기본 배열에서는 [ ] 안에 배열 전체 길이를 미리 지정해야 했다.
하지만 ArrayList를 생성할 때는 미리 지정할 필요 없이 add( ) 메서드를 사용해 생성자만 호출하면 된다.
ArrayList는 객체 배열이므로 8~12행과 같이 각 인스턴스를 생성해서 배열의 요소로 추가한다.
요소를 하나 가져오는 메서드는 get( )이다.
예제01에서는 매개변수로 몇 번째 요소를 가져올 것인지 지정했으며
size( ) 메서드를 통해 배열에 유효한 값이 저장된 요소 개수를 반환하였다.
예제
'프로그래밍 > JAVA' 카테고리의 다른 글
08-2 상속에서 클래스 생성과 형 변환 (0) | 2023.02.25 |
---|---|
08-1 상속 (0) | 2023.02.25 |
07-2 다차원 배열 (0) | 2023.02.25 |
07-1 배열 (0) | 2023.02.24 |
06-4 변수 유효 범위 (0) | 2023.02.23 |