package ch12;
import java.util.ArrayList;
public class ArrayListMainTest {
public static void main(String[] args) {
Book book1 = new Book(1, "흐르는 강물처럼", "파울로코엘료");
Book book2 = new Book(2, "플러터UI실전", "김근호");
Book book3 = new Book(3, "무궁화꽃이피었습니다", "김진명");
Book book4 = new Book(4, "리딩으로 리드하라", "이지성");
Book book5 = new Book(5, "사피엔스", "유발하라리");
//ArrayList
//사용 방법
//데이터를 담을 공간 만들기
// ! ArrayList 배열과 달리 공간에 크기를 먼저 선언할 필요가 없다.
ArrayList <Book> shoppingCart = new ArrayList<Book>();
//<>여기에 데이터타입을 담고 ArrayList를 알려준다 / new~ 공간을 할당한다.
//추가 방법 1
//데이터 추가하기 (값 넣기) 3개만 넣어봅시다.
shoppingCart.add(book1); //[0] //[76]
shoppingCart.add(book2); //[1]
shoppingCart.add(book3); //[2] 값을 넣을때 add사용
//추가 방법 2
shoppingCart.add(0,book3);
// (0,1,2,3배열이 들어가고, 뒤에는변수가 들어간다)
//화면에 출력
for (int i = 0; i<shoppingCart.size(); i++) {
//메서드를 호출하고 shoppingCart.size 멤버변수를 리턴하게하는
shoppingCart.get(i).showInfo();
//arrayList는 오류를 일으킬수있는 확률을 줄여주고 자주 사용하게 된다.
}
//삭제하는 방법
shoppingCart.remove(3); //() 안에는 인덱스숫자를 적으면된다.
System.out.println("--------");
//응용
//사이즈구하기
int mySize = shoppingCart.size();
System.out.println("Mysize : " + mySize);
//ArrayList의 크기는 :3
//ArrayList의 인덱스 크기는 : 0~2
shoppingCart.remove(mySize-1);
shoppingCart.remove(shoppingCart.size()-1);
//인덱스크기를 지정해주어야한다. 사이즈는 1부터 시작해서 1 2 3 이라는 mySize가나오고
//하지만 remove()안에는 index값을 넣어야한다 0부터시작하는 인덱스값을 넣어야함
System.out.println("--------");
// shoppingCart.removeAll();
//화면에 출력
for (int i = 0; i<shoppingCart.size(); i++) {
shoppingCart.get(i).showInfo();
}
//수정하기 set
shoppingCart.set(1, book4);
System.out.println("-----");
for (Book book : shoppingCart) {
book.showInfo();
}
// C R U D
//create, read, update, delete 프로그램의 기반
}
}