-
ArrayListBack end/Java 객체지향 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)
이 블로그 기록은 개인 공부용 기록입니다.
'Back end > Java 객체지향' 카테고리의 다른 글
super 예시 (0) 2023.11.22 업 캐스팅? (0) 2023.11.22 주사위 A와 B를 동시에 100회 던진 결과의 합을 토대로, 출력 예와 같은 결과를 만드시오 (0) 2023.11.22 접근 제한자 (Access Modifer) (0) 2023.11.21 Getter & Setter 문제 (0) 2023.11.21