컴퓨터공학 💻 도서관📚
Part2. 2-23 객체 배열을 구현한 클래스 ArrayList (리스트) 본문
Part2. 2-23 객체 배열을 구현한 클래스 ArrayList (리스트)
들판속초록풀 2025. 5. 19. 22:57
배열
기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했음
배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 함
리스트
java.utill 패키지 안에 들어 있다 패키지 : 소스(클래스)들의 묶음
ArrayList는 객체 배열을 좀 더 효율적으로 관리하기 위해 자바에서 제공해 주는 클래스
이미 많은 메서드들이 최적의 알고리즘으로 구현되어 있어 각 메서드의 사용 방법만 익히면 유용하게 사용할 수 있음
(벡터라는 친구도 있지만 요즘에는 ArrayList를 많이 쓴다)
패키지 , 이 묶음의 단위가 중요한 게 나중에 큰 프로젝트를 하다 보면 이 소스를 어떻게 하이라키를 가지고 계층구조를 가지고 구분을 할 것인가. 이게 프레임워크를 도입을 하는 문제와 더불어서 굉장히 중요한 문제가 된다
ArrayList< > 에서 < > 안에 어떤 객체를 넣을 거냐를 지정한다
이것을 지정을 안 할수도 있긴 하지만 지정을 하고 쓰는 게 훨씬 효울적이다.
ArrayList<Book> library = new ArrayList<> 최근에는 뒤에 있는 < > 에 객체를 안 써도 앞에 있는 정의대로 같이 들어가게끔 되어 있다.
내부 소스를 보면 처음에는 내가 특별히 개수를 정하지 않으면 ArrayList가 개수를 기본으로 10개를 잡고
중간에 필요하면 ArrayList가 개수를 늘린다
ArrayList 는 넣은 순서대로 출력이 된다
size 는 리스트 안에 있는 요소의 총 개수이고
length는 그 리스트의 총 길이이다.
이클립스 IDE 에서는 F1을 누르면 해당 패키지의 클래스, 메서드 들을 볼 수 있다
메서드를 볼 때는 1.메서드 이름과 2.어떤 매개변수를 받아서 3.뭐를 반환해주는지 이거를 잘 보고 이해해야 한다
help나 document 문서와 웹서칭해서 정확한 정보를 찾아보는 것이 좋은 개발자가 되기 위한 미덕 중에 하나이다
직접 찾아서 좋은 거 사용해보기
import java.util.ArrayList;
import ch21.Book;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<Book> library = new ArrayList<Book>(); // < > 안에 객체가 들어간다
library.add(new Book("태백산맥1", "조정래"));
library.add(new Book("태백산맥2", "조정래"));
library.add(new Book("태백산맥3", "조정래"));
library.add(new Book("태백산맥4", "조정래"));
library.add(new Book("태백산맥5", "조정래"));
for(int i =0; i<library.size(); i++) { // size : 리스트 안에 들어 있는 요소의 총 개수
library.get(i).showBookInfo();
}
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 3-1 객체 간의 상속의 의미 (0) | 2025.05.20 |
---|---|
Part2. 2-24. ArrayList를 활용한 간단한 성적 산출 프로그램 (0) | 2025.05.20 |
Part2. 2-22 2차원 배열 (0) | 2025.05.19 |
Part2. 2-21 객체배열 (0) | 2025.04.23 |
Part2. 2-20 배열 (1) | 2025.02.04 |