관리 메뉴

Frog is cry

컬렉션 프레임워크 (Hash) 본문

JAVA/복습

컬렉션 프레임워크 (Hash)

Frog is cry 2020. 7. 29. 19:42

Hash Map

package 컬렉션프레임워크.ex03;

import java.security.KeyStore.Entry;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import org.omg.Messaging.SyncScopeHelper;

public class MapTest {
	public static void main(String[] args) {
		//과일
		HashMap<String, Integer> fruitMap = new HashMap<>();
		Collection<Integer> price = null;
		ArrayList<Integer> arPrice = new ArrayList<>();
		int sum = 0;
		double avg;
		
		fruitMap.put("사과", 1000);
		fruitMap.put("배", 2000);
		fruitMap.put("자두", 3000);
		fruitMap.put("수박", 4000);
		
		System.out.println(fruitMap.get("자두") + "원");
		System.out.println(fruitMap.values());
		price = fruitMap.values();

		for (int  i : price) {
			System.out.println(i + "원");
		}
		
		price.forEach(data -> arPrice.add(data));
		System.out.println(arPrice);
		
		Set<java.util.Map.Entry<String, Integer>> set = fruitMap.entrySet();
		// entrySet : 통째로 입력해준다.
		Iterator<java.util.Map.Entry<String, Integer>> iter = set.iterator();
		
		while(iter.hasNext()) {
			Map.Entry<String, Integer> e = iter.next();
			System.out.println("과일 이름 : " + e.getKey()  + ", 가격 : "  + e.getValue() + "원");
			sum += e.getValue();
		}
		avg = Double.parseDouble(String.format("%.2f", (double)sum / fruitMap.size()));
		System.out.println("총액 : " +  sum + "원");
		System.out.println("평균 가격 : " + avg + "원");
		
	}
}
package 컬렉션프레임워크.ex03;

import java.util.HashMap;

public class HashMap_Ex {

	public static void main(String[] args) {
		HashMap<String, Integer> a = new HashMap<>();
		a.put("one", 1);
		a.put("two", 1);
		a.put("three", 1);
		a.put("four", 1);
		System.out.println(a.get("one"));
		System.out.println(a.get("two"));
		System.out.println(a.get("three"));
		
	}
}

package 컬렉션프레임워크.ex03;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMap2 {
	public static void main(String[] args) {
		HashMap<String, String> tel = new HashMap<>(); 
		// new HashMap<>() 맵에 있는 엔트리 타입의 객체
		
		tel.put("서울", "02");	// .put 값 입력
		tel.put("인천", "032");
		tel.put("경기", "031");
	
//		System.out.println(tel.get("서울"));
//		System.out.println(tel.get("인천"));
//		System.out.println(tel.get("경기"));
		//get을 사용해 ()값에 키 값을 적으면 그에 대응되는 Value값을 가져올 수 있음.
		
		// Key와 Value 묶음값 하나를 Entry라함
		// Key와 Value를 만들면 Entry객체가 하나 생성되는 것이라 보면됨
		// Map안에는 entrySet()이 있음.

		Set <Map.Entry<String, String> >set = tel.entrySet();
		Iterator<Map.Entry<String, String>> it = set.iterator();
		
//		while(it.hasNext()) {
//			Map.Entry e = (Map.Entry)it.next();
//			System.out.println("지역번호 : " + e.getValue() + ", 지역 :" + e.getKey());
//		}
		
		for (Map.Entry<String, String> e : set) {
			System.out.println("지역번호 : " + e.getValue() + ", 지역 :" + e.getKey()); 
		}
		
	}
	
	
}

Hash Set

package 컬렉션프레임워크.ex03;

import java.util.HashSet;
import java.util.Iterator;

public class HashSet_Ex {
	public static void main(String[] args) {
		HashSet<String> A = new HashSet<>();
		A.add("a");
		A.add("b");
		A.add("c");
		
		HashSet<String> B = new HashSet<>();
		B.add("c");
		B.add("d");
		B.add("e");
		
		HashSet<String> C = new HashSet<>();
		C.add("a");
		C.add("b");
		
		System.out.println(A.containsAll(B));
		System.out.println(A.containsAll(C));
		//A.containsAll(B) : B가 A의 부분집합인 경우에는 true 반환 아닐경우 false

		//A.addAll(B); 
		//합집합 출력
	
		//A.retainAll(B);
	    //교칩합 출력
		
		A.removeAll(B);
		//차집합 출력
		
		Iterator hi = A.iterator();
		while(hi.hasNext()) {
			System.out.println(hi.next());
		}
		
	}
}

 

'JAVA > 복습' 카테고리의 다른 글

스레드  (0) 2020.07.29
MVC모델(수정필요)  (0) 2020.07.29
컬렉션 프레임워크(Array List)  (0) 2020.07.29
Set  (0) 2020.07.29
제네릭  (0) 2020.07.29
Comments