Back end/Java 객체지향
ArrayList
jinpark1992
2023. 11. 22. 12:20
/* 1. ArrayList 클래스를 java.util 패키지에서 import 하시오. */ import java.util.ArrayList; public class ArrayListTest { public static void main(String[] args) { /* 2. String을 담을 수 있는 리스트 객체를 만드시오. */ ArrayList<String>names =new ArrayList<String>(); /* 3. 리스트에 이름을 추가하시오. */ names.add("kim"); names.add("lee"); names.add("Park"); names.add("Choi"); names.add("Hong"); names.add("No"); /* 4. 반복문을 통해 모든 이름을 출력하시오. */ for (int i = 0; i < names.size(); i++) { System.out.printf ("names.get(%d) -> %s\n", i, names.get(i)); // System.out.printf ("names.get(%d) -> %s\n", 0, names.get(0)); // S System.out.printf ("names.get(%d) -> %s\n", 1, names.get(1)); // System.out.printf ("names.get(%d) -> %s\n", 2, names.get(2)); // System.out.printf ("names.get(%d) -> %s\n", 3, names.get(3)); // System.out.printf ("names.get(%d) -> %s\n", 4, names.get(4)); // System.out.printf ("names.get(%d) -> %s\n", 5, names.get(5)); // } } } } |
import java.util.ArrayList; public class BookTest { public static void main(String[] args) { /* 1. Book을 담기 위한 ArrayList 객체를 만드시오. */ ArrayList<Book> list = new ArrayList<Book>(); /* 2. Book 객체를 생성하시오. */ Book onePiece = new Book("원피스", 4500); Book naruto = new Book("나루토", 4000); Book java = new Book("자바 프로그래밍", 24000); /* 3. ArrayList 객체에 Book 객체들을 담으시오. */ list.add(onePiece); // 원피스 객체 담기 list.add(naruto); // 나루토 객체 담기 list.add(java); // 자바 객체 담기 /* 4. 리스트에 담긴 모든 책 정보 출력 */ for (int i = 0; i < list.size(); i++) { Book book = list.get(i); System.out.printf ("list.get(%d) -> %s\n", i, book); // 같음 // System.out.printf ("list.get(%d) -> %s\n", i, list.get(i)); // System.out.printf ("list.get(%d) -> %s\n", 0, list.get(0)); // System.out.printf ("list.get(%d) -> %s\n", 1, list.get(1)); // System.out.printf ("list.get(%d) -> %s\n", 2, list.get(2)); } } } class Book { // 필드 private String title; private int price; // 생성자 public Book(String title, int price) { this.title = title; this.price = price; } // 메소드 public String toString() { return String.format("Book { name: %s, price: %d }", title, price); } } |
- list.set
import java.util.ArrayList; public class MonsterTest { public static void main(String[] args) { // Monster 객체를 저장할 ArrayList 생성 ArrayList<Monster> list = new ArrayList<Monster>(); // Monster 객체 생성 Monster slime = new Monster("슬라임", 1); Monster orc = new Monster("오크", 3); Monster golem = new Monster("골렘", 8); // ArrayList에 객체 담기 list.add(slime); list.add(orc); list.add(golem); // 전체 출력 System.out.println("=== 변경 전 ==="); for (int i = 0; i < list.size(); i++) { Monster m = list.get(i); // i번째 요소 반환 System.out.println(m.toString()); } /* 1. 레벨 1의 토끼 객체를 생성하세요. */ Monster rabbit = new Monster("토끼",1); /* 2. ArrayList의 첫 요소인 슬라임을 토끼로 변경하세요. */ list.set(0, rabbit); // 전체 출력 System.out.println("=== 변경 후 ==="); for (int i = 0; i < list.size(); i++) { Monster m = list.get(i); // i번째 요소 반환 System.out.println(m.toString()); } } } class Monster { // 필드 private String name; private int level; // 생성자 public Monster(String name, int level) { this.name = name; this.level = level; } // 메소드 public String toString() { return String.format("Monster { name: %s, level: %d }", name, level); } } |
출력 === 변경 전 === Monster { name: 슬라임, level: 1 } Monster { name: 오크, level: 3 } Monster { name: 골렘, level: 8 } === 변경 후 === Monster { name: 토끼, level: 1 } Monster { name: 오크, level: 3 } Monster { name: 골렘, level: 8 } |
import java.util.ArrayList; public class RamenTest { public static void main(String[] args) { // Ramen 객체를 담기 위한 ArrayList 생성 ArrayList<Ramen> list = new ArrayList<Ramen>(); // Ramen 객체 생성 Ramen shin = new Ramen("신라면", 800); Ramen jin = new Ramen("진라면", 700); Ramen bibim = new Ramen("비빔면", 600); /* 1. Ramen 객체를 ArrayList에 담으세요. */ list.add(shin); // 신라면 list.add(jin); // 진라면 list.add(bibim); // 비빔면 /* 2. ArrayList에 담긴 모든 객체 정보를 출력하세요. */ for (int i = 0; i < list.size(); i++) { Ramen ramen = list.get(i); // i 번째 요소 가져오기 Systehttp://m.out.printf("%s\n", ramen.toString()); } /* 3. ArrayList에 담겨진 객체의 총합을 계산하세요. */ int sum = 0; for (int i = 0; i < list.size(); i++) { Ramen ramen = list.get(i); // i 번째 요소 가져오기 sum += ramen.getPrice(); // 라면 가격을 누적하여 더하기 } // 총합 출력 System.out.println("========================="); Systehttp://m.out.printf("합계 : %d원\n", sum); } } class Ramen { // 필드 private String name; private int price; // 생성자 public Ramen(String name, int price) { this.name = name; this.price = price; } // 메소드 public String toString() { return String.format("Ramen { name: %s, price: %d }", name, price); } /*4. price에 대한 게터를 작성하세요. */ public int getPrice(){ return this.price; } } |
Ramen { name: 신라면, price: 800 } Ramen { name: 진라면, price: 700 } Ramen { name: 비빔면, price: 600 } ========================= 합계 : 2100원 |
- 로또 번호 출력 ( 자바 API 이용)
import java.util.Collections; import java.util.Arrays; import java.util.ArrayList; public class SimpleLottoMachine { public static void main(String[] args) { // 45개의 공을 만든다 ArrayList<Integer> numbers= new ArrayList<Integer>(); for(int i =1; i <= 45; i++){ numbers.add(i); // 1 ~ 45 } // 섞는다 Collections.shuffle(numbers); // 뽑는다 int[] picked = new int[6]; for(int i = 0; i < 6; i++){ // numbers의 앞 6개 숫자를 가져옴 picked[i] = numbers.get(i); } // 결과 출력 Systehttp://m.out.printf("자동 생성 번호: %s", Arrays.toString(picked)); } } |
출저: 홍팍 (https://www.youtube.com/@hongpark)
이 블로그 기록은 개인 공부용 기록입니다.