정수 및 목록 문자열 []의 멀티 맵이 있습니다. 여기서 키에 기반한 멀티 맵의 가장 높은 10 개의 값을 가져와야합니다.Java의 멀티 맵에서 가장 높은 10 개의 키 값을 선택하십시오.
나는 방법으로 키와 값은 다음과 같습니다 경우처럼,
Key Value
3 [0,0],[1,0],[0,1]
6 [0,1],[1,1],[0,0]
1 [1,0],[1,1],[0,1],[0,0]
2 [1,1],[0,0]
가 지금은 키에 따라 최고 10 개 값을 얻을 필요가 그것을 구현하기 위해 노력하고 있습니다. > ([0,1], [1,1], [0,0])
다음 얻을 - 첫번째 가장 중요한 6이므로
, 그것은 (6)의 모든 값을 얻어야 -> ([0,0], [1,0], [0,1])의 다음 최상위 키 3의 나머지 값
다음으로 -> ([1,1], [0,0])
다음으로 -> ([1,0], [1,1]) 인 다음 최상위 키 1의 나머지 값을 가져옵니다.
값이 10 개만 필요하므로 키 값 3에서 3 값 + 값 3에서 값 3 값 + 키 2 값에서 값 2 값 + 값 2 값이므로 키 1에서 값 2 개만 선택해야합니다. 키 1에서) 총 10 개의 값입니다.
Map<Integer, List<String[]>> outdoorElements = new HashMap<Integer, List<String[]>>();
putObjects(outdoorElements,EvaluationCount,schedules);
private static void putObjects (Map<Integer, List<String[]>> outdoorElements, Integer key, String[] value) {
List<String[]> myClassList = outdoorElements.get(key);
if(myClassList == null) {
myClassList = new ArrayList<String[]>();
outdoorElements.put(key, myClassList);
}
myClassList.add(value);
}
내가 열심히 값을 얻는 방법을 시도하고있다 :
여기 내 코드입니다. 누군가가 이것을 통해 나를 인도 할 수 있다면 정말 고맙게 생각합니다.
이 키를 정렬하는 방법을 통해 UR 문제가 도움이되기를 바랍니다? 또는 처음 10 개의 값을 얻는 방법? TreeMap을 사용할 수 있습니까? 값의 수를 유지 하시겠습니까? – ajc
나는 신참이다. 그래서 나는 정렬하고 값 @ ajc을 얻는 방법을 고수했다. –
TreeMap을 사용했다면, 키가 정렬 될 것이다. descendingMap을 호출하여 desc 모드로 정렬하고 값을 반복해야합니다. –