List, Set, Map
import java.util.HashMap;
import java.util.Map;

public class Exam_01 {
	public static void main(String[] args) {
//		
//		List<String> list = new ArrayList<>();
//		// 데이터에 순서가 존재 (입력된 순서대로)
//		// 중복을 허용
//		
//		list.add("Hello");
//		list.add("World");
//		list.add("Java");
//		list.add("Hello");
//		
//		System.out.println(list);//배열과 다르게 변수명만 적어도 출력이 된다
//		
////		Set<String> set = new HashSet<>();
//		// 입력된 데이터에 순서가 존재 x
//		// 중복 허용  x
//		
////		set.add("Hello");
////		set.add("World");
////		set.add("Java");
////		set.add("Hello"); //같은 내용이 두번째로 들어오면 기존의 데이터를 밀어낸다.
////		
////		System.out.println(set);
//		
//		// List처럼 데이터를 보관하는 용도보다는
//		// "데이터 검색", """중복제거용도"""로 많이 사용함 => 같은 데이터를 두번 저장하지 않는다는 성질을 이용함 
//		
//		Set<Integer> set = new HashSet<>();
//		
//		while(set.size()<7) {
//			set.add((int)(Math.random()*45+1));
//		}
//				
//		//set의 중복제거성질을 이용하여 간단하게 로또번호 뽑기를 만들 수 있음.
//		
//		// 데이터가 순서가 없다보니 get메서드가 없음
//		// set은 그냥 for문 돌려서 접근함
//		
//		for(Integer tmp : set) {
//			System.out.println(tmp);
//		}
//		
//		//하나에만 접근은 안됨....ㅠ
		
		//set은 list 대비 사용빈도는 적지만, 중복제거용도로는 유용하다.
		
		Map<String, Integer> map = new HashMap<>();
		//Map은  Keyset과 Value로 구성된 Entry들을 저장한다.
		//Keyset은 set의 성질을 가진다(중복제거, 순서없음)
		map.put("One", 1);
		map.put("Two", 2);
		map.put("Three", 3);
		map.put("Four", 4);
		map.put("Five", 5);
		map.put("Three", 100);
		//set이 같은 값을 받으면 마지막값을 살리는 성질처럼, map도 동일한 성질을 가진다.
		//key와 value를 쌍으로 이루는 자료형은 앞으로 많이 나오게 된다 (예:JSON)
		
		//key값을 이용하면 쉽게 검색할 수 있다.
		
		System.out.println(map.get("One"));
		System.out.println(map.keySet());
		System.out.println(map.values());
		
		
		
	}
}

'자바 프로그래밍 > 코드' 카테고리의 다른 글

Network 개념실습  (0) 2020.03.09
생성자  (0) 2020.03.09
메서드, 멤버필드, static  (0) 2020.03.09
객체지향 - 인스턴스, 정보은닉  (0) 2020.02.16
메서드 오버로딩  (0) 2020.02.16