Java/chapter2

ch12 ArrayListMainTest

낭구리 2021. 8. 27. 15:57
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 프로그램의 기반 
		
		
		
	}

}

'Java > chapter2' 카테고리의 다른 글

ch13 GateWay(Unit연계)  (0) 2021.08.30
ch13 Unit  (0) 2021.08.30
ch12 Book(Array)  (0) 2021.08.27
ch11 MainTest2  (0) 2021.08.26
ch11 ArrayMainTest  (0) 2021.08.26