반응형
ArrayList는 자바에서 가장 많이 사용되는 컬렉션 중 하나로,
객체를 동적으로 저장하고 삭제할 수 있는 가변 배열 자료구조입니다.
이번 예제에서는 Board라는 사용자 정의 클래스를 ArrayList에 저장하고,
출력 및 삭제하는 방법을 실습해보겠습니다.
📦 Board.java
package ch15.sec02;
public class Board {
private String subject, content, writer;
public Board(String subject, String content, String writer) {
setSubject(subject);
setContent(content);
setWriter(writer);
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
📌 예제 코드
package ch15.sec02;
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<Board> list = new ArrayList<Board>();
for (int i = 1; i <= 5; i++)
list.add(new Board("제목" + i, "내용" + i, "글쓴이" + i));
System.out.println("총 객체 수 : " + list.size() + "\n");
for (int i = 0; i < 5; i++)
System.out.println(list.get(i).getSubject() + "\t" + list.get(i).getContent() + "\t" + list.get(i).getWriter());
System.out.println();
list.remove(2);
list.remove(2);
for (Board board : list)
System.out.println(board.getSubject() + "\t" + board.getContent() + "\t" + board.getWriter());
}
}
💻 실행 결과
총 객체 수 : 5
제목1 내용1 글쓴이1
제목2 내용2 글쓴이2
제목3 내용3 글쓴이3
제목4 내용4 글쓴이4
제목5 내용5 글쓴이5
제목1 내용1 글쓴이1
제목2 내용2 글쓴이2
제목5 내용5 글쓴이5
💬 코드 설명
- Board 클래스는 제목, 내용, 작성자를 필드로 가지는 간단한 게시글 객체입니다.
- ArrayList<Board> 리스트에 5개의 Board 객체를 저장한 뒤, list.get()을 이용해 각각 출력합니다.
- list.remove(2)를 두 번 실행하여, 인덱스 2에 위치한 객체 두 개를 삭제합니다.
첫 번째 삭제 후 "제목3"이 제거되고, 두 번째 삭제 시 "제목4"가 다시 인덱스 2로 이동되므로 그것도 제거됩니다. - 이후 for-each 문을 사용하여 남은 객체를 출력합니다.
💡 포인트 정리
- ArrayList는 순차적으로 데이터를 저장하며, 인덱스를 기반으로 접근하고 삭제할 수 있습니다.
- remove(index)를 반복해서 사용하면, 리스트 크기와 인덱스 변화를 주의해야 합니다.
- for-each 문을 활용하면 리스트를 간결하게 출력할 수 있습니다.
- 사용자 정의 객체를 저장할 때는 클래스 설계와 getter 메서드가 중요합니다.
📌정리하자면, 이번 예제는 ArrayList를 활용하여 사용자 정의 객체를 저장하고, 출력하고, 일부를 제거하는 전형적인 흐름을 보여줍니다.
컬렉션 프레임워크는 자바에서 데이터 집합을 다루는 핵심 도구이며,
ArrayList는 그중에서도 가장 기본적이면서도 자주 쓰이는 자료구조입니다.
객체를 저장하고 순회하는 구조를 익히면, 이후의 컬렉션 활용에도 큰 도움이 됩니다.
'Java > 자바 정리' 카테고리의 다른 글
140. 중복을 허용하지 않는 Set – HashSet의 특징 (0) | 2025.05.20 |
---|---|
139. ArrayList vs LinkedList 성능 비교 (0) | 2025.05.20 |
138. Vector로 멀티스레드 환경에서도 안전하게 저장하기 (1) | 2025.05.20 |
136. interrupt()로 스레드 종료하기 – sleep 중인 스레드 깨우기 (0) | 2025.05.19 |
135. 안전하게 스레드 종료시키기 – 플래그 활용 (0) | 2025.05.19 |
134. 스레드 간 협업 – wait()과 notify() (0) | 2025.05.19 |