728x90
1. 생성
List<E> list = new ArrayList<E>(); // E에 지정된 타입의 객체만 저장
List<E> list = new ArrayList<>(); // E에 지정된 타입의 객체만 저장
List list = new ArrayList(); // 모든 타입의 객체 저장
ArrayList 컬렉션에 객체를 추가하면 인덱스 0번 부터 차례대로 저장된다. 특정 인덱스의 객체를 제거하면 바로 뒤 인덱스 부터 마지막 인덱스 까지 모두 앞으로 1씩 당겨진다 마찬가지로 삽입하면 1씩 밀려난다 따라서 민번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList를 사용하는 것은 바람직 하지 않다 이런 경우엔 LinkedList를 사용하자
2. 객체 추가 삭제
package collection.arrayList.exam1;
import java.util.ArrayList;
import java.util.List;
public class TestArrayList {
public static void main(String[] args) {
// ArrayList 컬렉션 생성
List<Board> list = new ArrayList<>();
// 객체 추가
list.add(new Board("제목1", "내용1", "글쓴이1"));
list.add(new Board("제목2", "내용2", "글쓴이2"));
list.add(new Board("제목3", "내용3", "글쓴이3"));
// 저장된 총 객체 수 얻기
int size = list.size();
System.out.println("총 객체 수" + size);
System.out.println();
// 특정 인덱스의 객체 가져오기
Board board = list.get(2);
System.out.println(board.getSubject() + "\t" + board.getContent() + "\t" + board.getWriter());
System.out.println();
// 모든 객체를 하나씩 가져오기
for(int i = 0 ; i < list.size() ; i++){
Board b = list.get(i);
System.out.println(b.getSubject() + "\t" + b.getContent() + "\t" + b.getWriter());
}
System.out.println();
// 객체 삭제
list.remove(2);
// foreach로 모든 객체 가져오기
for(Board b : list){
System.out.println(b.getSubject() + "\t" + b.getContent() + "\t" + b.getWriter());
}
}
}
package collection.arrayList.exam1;
public class Board {
private String subject;
private String content;
private String writer;
public Board(String subject, String content, String writer) {
this.subject = subject;
this.content = content;
this.writer = writer;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
}
반응형
'Java 개념' 카테고리의 다른 글
Collection - Set,Map (0) | 2023.08.23 |
---|---|
Collection - LinkedList (0) | 2023.08.22 |
리스트 (0) | 2023.08.03 |
예외처리 (0) | 2023.08.01 |
인터페이스 (0) | 2023.07.31 |