import java.util.Map.Entry;
Entry
- entry라는 하나의 클래스에 저장되어 key, value를 모두 한번의 조작으로 얻을 수 있음
- entry는 tuple이 아닌 interface로 구현 클래스가 필요
List<Map.Entry<키자료형, 밸류자료형>> 변수명=new ArrayList<>();
- 기본 map과 달리 중복키를 가질 수 있음. list 구현을 사용했기 때문.
사용 예시
- entry를 가져와서 리스트로 만들고
comparingByValue() 메소드를 사용하여 맵의 밸류값 기준으로 오름차순 정렬
getValue() 메소드를 사용하여 맵의 밸류값만을 가져옴
//정렬하기 위한 entry 내장함수
List<Map.Entry<Integer, Integer>> entryList=new LinkedList<>(size_cnt.entrySet());
entryList.sort(Map.Entry.comparingByValue());//밸류 기준 정렬!
Collections.reverse(entryList);//내림차순으로 정렬
System.out.println("내림차순 정렬 후 : "+entryList);
//cnt가 k랑 같아질때까지
int cnt=0;
int kind=0;//크기 개수
//entryList에서 하나씩 entry뽑아서 밸류 가져오기
for (Entry<Integer, Integer> entry : entryList) {
System.out.println(entry.getValue());
cnt+=entry.getValue();
kind++;//크기 개수 증가
if(cnt>=k) {
break;
}
}
출처
https://recordsoflife.tistory.com/314