본문 바로가기

IT/Java

Java HashMap Controller

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

public class HashMapController {
	
	public void start() {
		sortHashMap();
	}
	
	/* value 기준으로 정렬 */
	public void sortHashMap() {
		HashMap<String,String> hashMap = new HashMap<>();
		hashMap.put("2","d");
		hashMap.put("1","b");
		hashMap.put("5","e");
		hashMap.put("3","a");
		hashMap.put("4","c");
		
		Iterator iter = sortByValue(hashMap).iterator();
		while(iter.hasNext()) {
			String temp = (String) iter.next();
			System.out.println(temp + " = " + hashMap.get(temp));
		}
	}
	
	//별도의 스태틱 함수로 구현
	public static List sortByValue(final HashMap map) {
		List<String> list = new ArrayList();
		list.addAll(map.keySet());
	
		Collections.sort(list,new Comparator() {
			public int compare(Object o1,Object o2) {
			Object v1 = map.get(o1);
			Object v2 = map.get(o2);
		
			return ((Comparable) v2).compareTo(v1);
			}
		});
//		Collections.reverse(list); // 주석시 내림차순
		return list;
	}
	
	public static void main(String[] args) {
		new HashMapController().start();
	}
}

'IT > Java' 카테고리의 다른 글

자바 EXE 파일 실행 및 데이터 전달  (0) 2020.07.14
자바 소켓서버 Thread 사용하여 다중요청처리  (0) 2020.07.14
Java ArrayController  (0) 2020.06.22
Java ArrayList Controller  (0) 2020.06.22
Java StringController  (0) 2020.06.22