각진 세상에 둥근 춤을 추자

[Java] ArrayList 클래스 사용하기 본문

Java

[Java] ArrayList 클래스 사용하기

circle.j 2022. 9. 19. 11:23

배열을 통해 100명의 학생을 위한 프로그램을 개발했다고 가정한다.

학생 수가 어느 순간 100명이 넘었다.

배열을 사용하는 중에는 배열의 길이를 변경 할 수 없기 때문에 다시 코드를 수정해야 하는 일이 생긴다.

 

객체 배열 클래스 ArrayList를 통해 객체 배열을 좀 더 쉽게 사용할 수 있다.

 

메서드 설명
boolean add(자료형 e) 요소 하나를 배열에 추가한다. 
int size( ) 배열에 추가된 요소 전체 개수를 반환한다.
자료형 get(int index) 배열의 index 위치에 있는 요소 값을 반환한다.
자료형 remove(int index) 배열의 Index 위치에 있는 요소 값을 제거하고 그 값을 반환한다.
boolean isEmpty( ) 배열이 비어 있는지 확인한다.

 

ArrayList를 사용하는 기본 형식이다.

ArrayList<E> 배열 이름 = new ArrayList<E>();

이때, E는 제네릭 자료형이다.

 

Book 클래스 배열 예제를 ArrayList 클래스를 활용하여 구현해 본다.

 

 

( 1)  Book 클래스

package ch07_1;

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 show() {
		System.out.println(bookName + ", " + author);
	}
	
}

 

(2) ArrayList 클래스 사용하기

 

package ch7_2;

// ArrayList 클래스 import
import java.util.ArrayList;

public class ArrayListTest {
	public static void main(String[] args) {
		
		// ArrayList 선언
		ArrayList<Book> library = new ArrayList<Book>();
		
		// add() 메서드로 요소 값 추가
		library.add(new Book("잘될 수밖에 없는 너에게","최서영"));
		library.add(new Book("다섯 번째 감각","김보영"));
		library.add(new Book("어금니 깨물기","김소연"));
		library.add(new Book("시키는 대로 제멋대로","이소호"));
		library.add(new Book("긴긴밤","루리"));
	
		// 배열에 추가된 요소 개수만큼 출력 - for문 사용 
		for (int i=0; i<library.size(); i++) {
			Book book = library.get(i);
			book.show();
		}
		System.out.println();
		
		// 배열에 추가된 요소 개수만큼 출력 - 향상된 for문 사용 
		for ( Book book : library) {
			book.show();
		}
	}
}

'Java' 카테고리의 다른 글

[Java] 상속 - 고객 관리 프로그램  (0) 2022.09.19
[Java] ArrayList - 학생 성적 출력 프로그램  (0) 2022.09.19
[Java] 다차원 배열  (0) 2022.09.19
[Java] 향상된 for문 사용하기  (0) 2022.09.19
[Java] 배열 복사하기  (0) 2022.09.19