Vector 클래스
동적으로 크기가 관리되는 객체 배열.
내부적으로 Object 타입의 배열을 가지고 있어서, 이 배열에 객체를 추가하거나 제거할 수 있게 작성되어 있다.
배열의 크기를 알아서 관리해주기 때문에 저장할 인스턴스의 개수에 신경쓰지 않아도 된다.
메서드 / 생성자 |
설명 |
Vector() |
10개의 객체를 저장할 수 있는 Vector 인스턴스를 생성한다. 10개 이상의 인스턴스가 저장되면, 자동적으로 크기가 증가된다. |
boolean add(Object o) |
Vector에 객체를 추가한다. 추가에 성공하면 true, 실패하면 false를 반환한다. |
boolean remove(Object o) |
Vector에 저장되어 있는 객체를 제거한다. 제거에 성공하면 true, 실패하면 false를 반환한다. |
boolean isEmpty() |
Vector가 비어있는지 검사한다. 비어있으면 true, 비어있지 않으면 false를 반환한다. |
Object get(int index) |
지정된 위치(index)의 객체를 반환한다. 반환타입이 Object이므로 적절한 형변환이 필요하다. |
int size() |
Vector에 저장된 객체의 개수를 반환한다. |
- 관련 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | public class Main{ public static void main(String[] args) { Buyer b = new Buyer(); Tv tv = new Tv(); Computer com = new Computer(); Audio audio = new Audio(); b.buy(tv); b.buy(com); b.buy(audio); b.summary(); System.out.println(); b.refund(com); b.summary(); } } class Product { int price; int bonusPoint; Product(int price) { this.price = price; bonusPoint = (int)(price/10.0); } Product() { price = 0; bonusPoint = 0; } } class Tv extends Product { Tv() { super(100); } public String toString() { return "Tv"; } } class Computer extends Product { Computer() { super(200); } public String toString() { return "Computer"; } } class Audio extends Product { Audio() { super(50); } public String toString() { return "Audio"; } } class Buyer { int money = 1000; int bonusPoint = 0; Vector item = new Vector(); void buy(Product p) { if(money < p.price) { System.out.println("잔액이 부족하여 물건을 살 수 없습니다."); return; } money -= p.price; bonusPoint += p.bonusPoint; item.add(p); System.out.println(p + "을/를 구입하셨습니다."); } void refund(Product p) { if(item.remove(p)) { money += p.price; bonusPoint -= p.bonusPoint; System.out.println(p + "을/를 반품하셨습니다."); } else { System.out.println("구입하신 제품 중 해당 제품이 없습니다."); } } void summary() { int sum = 0; String itemList = ""; if(item.isEmpty()) { System.out.println("구입하신 제품이 없습니다."); return; } for(int i=0; i<item.size(); i++) { Product p = (Product)item.get(i); sum += p.price; itemList += (i==0) ? "" + p : ", " + p; } System.out.println("구입하신 물품의 총금액은 " + sum + "만원입니다."); System.out.println("구입하신 제품은 " + itemList + "입니다."); } } | cs |
- 실행 결과
참고자료
자바의 정석
'Java' 카테고리의 다른 글
[Java] 예외처리 (0) | 2019.01.16 |
---|---|
[Java] 추상클래스와 인터페이스 (0) | 2019.01.03 |
[Java] 다형성 (0) | 2019.01.01 |
[Java] 제어자 (0) | 2019.01.01 |
[Java] 상속 (0) | 2019.01.01 |