자바는 객체 배열을 좀 더 쉽게 사용할 수 있도록 객체 배열 클래스 ArrayList를 제공한다.
ArrayList 클래스는 객체 배열을 관리할 수 있는 멤버 변수와 메서드를 제공하는데 사용법을 알아두면 편리하게 사용할 수 있다.
주요 메서드로는
boolean add(E e) : 요소 하나를 배열에 추가한다. E는 요소의 자료형을 의미
int size() : 배열에 추가된 요소 전체 개수를 반환
E get(int index) : 배열의 index 위치에 있는 요소 값을 반환한다.
E remove(int index) : 배열의 index 위치에 있는 요소 값을 제거하고 그 값을 반환한다.
boolean isEmpty() : 배열이 비어있는지 확인한다.
ArrayList는 java.util 패키지에 구현되어 있는 클래스이기 때문에 자바 클래스를 선언하기 전에
import java.util.ArrayList; 문장을 반드시 써줘야한다.
ArrayList<E> 배열이름 = new ArrayList<E>(); // ArrayList를 사용하는 기본 형식
package array;
public class Book {
private String bookName;
private String author;
///////////////////생성자/////////////////////////////////////////////
public Book() {}
public Book(String bookName, String author)
{
this.bookName = bookName;
this.author = author;
}
///////////////////////////////////////////////////////////////////////
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public void showBookInfo()
{
System.out.println(bookName + ", " + author);
}
}
package array;
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
// ArrayList 클래스는 객체 배열을 관리할 수 있는 멤버 변수와 메서드를 제공
ArrayList<Book> library = new ArrayList<Book>(); // ArrayList 선언, Book 클래스형을 자료형으로 사용해서 ArrayList 배열 생성.
// 기본 배열에서는 [ ] 안에 배열 전체 길이를 미리 지정해야하지만,
// ArrayList를 생성할 때는 미리 지정할 필요 없이 ' add() 메서드를 사용해 생성자만 호출 '하면 됨
library.add(new Book("태백산맥", "조정래")); // add() 메서드로 요소 값 추가.
library.add(new Book("데미안", "헤르만 헤세"));
library.add(new Book("어떻게 살 것인가", "유시민"));
library.add(new Book("토지", "박경리"));
library.add(new Book("어린왕자", "생택쥐패리"));
for (int i = 0; i < library.size(); i++) // 배열에 추가된 요소 개수만큼만 출력하기 위해 size() 메서드를 사용
{
Book book = library.get(i); // 배열의 i 인덱스 위치에 있는 값을 반환.
book.showBookInfo();
}
System.out.println( );
System.out.println("=== 향상된 for 문 사용 ===");
for (Book book : library)
{
book.showBookInfo();
}
}
}
기본 배열에서는 [ ] 안에 배열 전체 길이를 미리 지정해야 했지만,
ArrayList를 생성할 때는 미리 지정할 필요 없이 add() 메서드를 사용해 생성자만 호출하면 된다.
ArrayList는 객체 배열이믈 각 인스턴스를 생성해서 배열의 요소로 추가했고, get() 메서드를 사용해서 요소를 가져왔다.
'자바 기초' 카테고리의 다른 글
자바 상속에서 클래스 생성, super - Do it! 자바프로그래밍기초 (0) | 2022.07.20 |
---|---|
자바 상속 - Do it! 자바프로그래밍 기초 (0) | 2022.07.20 |
자바 다차원배열 - Do it! 자바프로그래밍기초 (0) | 2022.07.20 |
자바 배열 복사, arraycopy - Do it! 자바프로그래밍기초 (0) | 2022.07.20 |
자바 배열, array, 객체배열 - Do it! 자바프로그래밍기초 (0) | 2022.07.20 |