Eggs Sunny Side Up
본문 바로가기
언어/JAVA

ArrayList_제네릭 기법 + for-each문

by guswn100059 2023. 3. 10.

ArrayList

package ArrayList기초;

import java.util.ArrayList;

public class Ex01_Main {

	public static void main(String[] args) {
		
		// ArrayList
		// : 크기가 가변적인 배열과 같은 형태를 가진 클래스
		
		// 1.ArrayList 생성
		// 레퍼런스 타입의 데이터만 저장할 수 있다.
		ArrayList<String> list = new ArrayList<String>();
		//<>: 제네릭기법
		//	->객체를 생성하는 순간에 자료형이 결정되는 기법
		
		//2. 데이터 추가하기
		list.add("카페라떼");
		list.add("아이스 아메리카노");
		list.add("카라멜 마끼야또");
		System.out.println("데이터 추가 전 : "+list.get(2));
		
		//3. 데이터 특정 위치에 추가하기
		list.add(2, "딸기라떼");
		
		//4. 데이터 가져오기
		System.out.println("데이터 추가 후 : "+list.get(2));
		
		//5. 데이터 삭제하기 
		list.remove(1);
		System.out.println("데이터 삭제 후 : "+list.remove(1));
		
		//6. 데이터의 크기 알아보기
		System.out.println("list의 크기 : "+list.size());
		
		//7. 데이터 전체 삭제
		list.clear();
		System.out.println("list의 크기 : "+list.size());
		
	}

}

제네릭 기법_포켓몬 출력

package Poketmon;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		// 1. Poketmon 자료형을 보관할 수 있는
		// monster라는 이름을 가진 ArrayList 생성하기
		ArrayList<Poketmon> monster = new ArrayList<Poketmon>();

		// 2. 데이터 추가하기
		Poketmon monster1 = new Poketmon("피카츄", "전기", 100, 1000, "백만볼트");
		monster.add(monster1);

		monster.add(new Poketmon("꼬부기", "물", 100, 1000, "물대포"));

		// 3. 데이터 출력하기
		System.out.println(monster.get(0).getName());

		System.out.println(monster.get(1).getName());

		// 4. 3마리 포켓몬 모두 추가하기
		monster.add(new Poketmon("피카츄", "전기", 100, 1000, "백만볼트"));
		monster.add(new Poketmon("꼬부기", "물", 100, 1000, "물대포"));
		monster.add(new Poketmon("파이리", "불", 100, 1000, "불꽃세례"));

		// 5. 3마리 포켓몬 출력하기
		// 방법 1)
		for (int i = 0; i < monster.size(); i++) {
			String name = monster.get(i).getName();
			String type = monster.get(i).getType();
			int hp = monster.get(i).getHp();
			int atk = monster.get(i).getAtk();
			String skill = monster.get(i).getSkill();

			System.out.printf("%s\t%s\t%d\t%d\t%s\t", name, type, hp, atk, skill);
			System.out.println();
		}

		// 방법 2)
		for (int i = 0; i < monster.size(); i++) {
			System.out.print(monster.get(i).getName() + "\t");
			System.out.print(monster.get(i).getType() + "\t");
			System.out.print(monster.get(i).getHp() + "\t");
			System.out.print(monster.get(i).getAtk() + "\t");
			System.out.print(monster.get(i).getSkill());
			System.out.println();
		}

		// for-each문
		// 배열 안에 있는 요소를 하나씩 뽑아서 ':' 좌측에 있는 공간에 in!
		// : 배열의 크기만큼 반복하는 구조
		for(Poketmon m : monster) {
			System.out.print(m.getName()+"\t");
			System.out.print(m.getType()+"\t");
			System.out.print(m.getHp()+"\t");
			System.out.print(m.getAtk()+"\t");
			System.out.print(m.getSkill()+"\t");
			System.out.println();
		}

	}

}

'언어 > JAVA' 카테고리의 다른 글

OOP_추상화  (0) 2023.03.11
OOP_상속  (0) 2023.03.11
OOP_클래스와 객체, 배열  (0) 2023.03.09
객체지향 프로그래밍(Object Oriented Programming)  (0) 2023.03.07
메소드_자신을 제외한 약수의 총합을 구하는 메소드  (0) 2023.03.06

댓글