본문 바로가기
JAVA SE/Code

CODE [20.07.27/Day_13] Java SE / Random, Collection 컬렉션 (list)

by 파프리카_ 2020. 7. 27.
728x90
반응형

[ Radom ]

java.util.Radom 예제

import java.util.Random;

// 랜덤한 수를 반환
public class TestRandom {
	public static void main(String[] args) {
		Random r = new Random();
		for (int i = 0; i < 5; i++) { //nextInt(3) -> 0 1 2의 랜덤수를 5번 반환
			System.out.println(r.nextInt(3));
			/* 출력값:
			 * 0
			 * 2
			 * 1
			 * 0
			 * 1
			 */
		}
	}
}

 

[ Collection ]

 

 list

ArrayList 의 Generic 예제

import java.util.ArrayList;

class Car{
	private String name;
	public Car(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

public class TestGeneric {
	public static void main(String[] args) {
		// 배열처럼 순번으로 정보를 관리
		ArrayList list = new ArrayList();
		list.add(new Car("소나타"));
		
		//첫번째 요소를 받환받아 getModel()을 호출해 출력한다
		// Object타입으로 반환되기 때문에,
		// 객체 down casting이 필요하다.
		Car car = (Car)list.get(0);
		System.out.println(car.getName());
		/*출력:
		 * 소나타
		 */
		//jdk 1.6버전 이상에서는 Generic이 추가되어,
		//객체 down casting절차를 감소하고 타입의 안정성을 도모하도록 한다
		
		ArrayList<Car> list2 = new ArrayList<Car>();
		list2.add(new Car("아반떼"));
		System.out.println(list2.get(0).getName());
		/*출력:
		 * 아반떼
		 */
	}
}

ArrayList 예제 2

main class

/TestArraylist.java

import java.util.ArrayList;


public class TestArrayList2 {
	public static void main(String[] args) {
		//Generic에 Class명을 넣어주면, get할때마다 casting 해줄필요없다
		ArrayList<Friend> list = new ArrayList<Friend>();
		list.add(new Friend("두유", "김포", 200));
		System.out.println(list);
		// [Friend [name=두유, address=김포, money=200]]
		
		list.add(new Friend("밀크", "부천", 1000));
		list.add(new Friend("예울", "부천", 50000));
		
		//list의 요소 객체 중 address가 부천인 친구의 이름을 모두 출력
		for (int i = 0; i < list.size(); i++) {
			if (list.get(i).getAddress().equals("부천"))
					System.out.println(list.get(i).getName());
					/* 출력:
					 * 밀크
					 * 예울
					 */
		}//for
		
		//list의 마지막 요소를 삭제
		Friend removedF = list.remove(list.size()-1);
		System.out.println("삭제한 친구정보: "+removedF);
		System.out.println(list);
		/*출력:
		 * 삭제한 친구정보: Friend [name=예울, address=부천, money=50000]
		 * [Friend [name=두유, address=김포, money=200], Friend [name=밀크, address=부천, money=1000]]
		 */
		
		//list의 요소를 모두 비운다
		list.clear();
		System.out.println(list); 
		/*출력:
		 * []
		 */
		
	}//main
}//class

 

 

VO class

/Friend.java

package step6;

class Friend {
	private String name;
	private String address;
	private int money;
	
	public Friend(String name, String address, int money) {
		super();
		this.name = name;
		this.address = address;
		this.money = money;
	}
	
	//list는 원래 toString이 자동으로 overriding되지만
	//Generic값으로 class명(객체명)을 주었을 경우,
	//toString의 Overriding을 해주어야 한다.
	@Override
	public String toString() {
		return "Friend [name=" + name + ", address=" + address + ", money=" + money + "]";
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public int getMoney() {
		return money;
	}
	public void setMoney(int money) {
		this.money = money;
	}
}
728x90
반응형