int answer = 0;
int k = 6;
int[] tangerine = {1, 3, 2, 5, 4, 5, 2, 3};
Map<Integer, Integer> map = new HashMap<>();
int j = 1;
for(int i: tangerine) {
if(map.containsKey(i)) {
map.put(i, map.get(i)+1);
}else {
map.put(i, 1);
}
}
for (int key : map.keySet()){
System.out.println("key : " + key + " val : " + map.get(key));
}
List<Integer> keySetList = new ArrayList<>(map.keySet());
System.out.println("before");
for (int key : keySetList) {
System.out.println(key + ": " + map.get(key));
}
Collections.sort(keySetList, (o1, o2) -> (map.get(o2).compareTo(map.get(o1))));
System.out.println("after");
for (int key : keySetList) {
if(k > 0) {
k = k-map.get(key);
answer++;
System.out.println("k" + k);
}
System.out.println(key + ": " + map.get(key));
}
System.out.println(answer);