HashMap에 항목 목록, 키로 String, 값으로 Long이 있습니다. 값이 특정 숫자보다 큰지 확인하려고하지만 값을 가져 와서 확인할 수있는 방법이 확실하지 않습니다.HashMap 값을 가져 와서 숫자와 비교하는 방법
나는이 잘못 알고 있지만, 내가 설명 할 수있는 것보다 더 나은 무엇을 의미하는지 표시 될 수 있습니다 :이 후, 플레이어가 오프라인 허용 1000에 의해 증식을 offlimeTimeLimitConfig을하는 시간을 가져
long offlineTimeLimit = (offlineTimeLimitConfig*1000);
long limit = (offlineTimeLimit + System.currentTimeMillis());
Long playerName = playerTimeCheck.get(p);
if (playerTimeCheck.containsValue(> limit)) {
}
(그래서 밀리 초 단위), 현재 시간을 더합니다. hashmap의 어떤 값이 현재 시간과 제한 시간을 더한 값보다 큰지 확인한 다음 코드를 실행하고 싶습니다.
나는 연구를 해왔고 TreeMap과 같은 데이터를 저장하는 다른 방법을 찾았습니다. 데이터를 저장하는 더 좋은 방법이 될지 모르겠습니다. 여기
코드의 나머지 부분입니다 : 도움을 이String p = event.getPlayer().getName();
HashMap<String, Long> playerTimeCheck = new HashMap<String, Long>();
ConfigurationSection section = getConfig().getConfigurationSection("PlayerTime");
long currentTime = System.currentTimeMillis();
String playerCheck = getConfig().getString("PlayerTime");
for (String key : section.getKeys(false)) {
playerTimeCheck.put(key, section.getLong(key));
}
감사합니다, 콜비
? 트리 맵을 사용하여 내림차순으로 정렬 한 다음 첫 번째 항목의 값이> 값인지 아닌지 확인하십시오. – jcampos8782
@ jcampos8782 트리 맵은 키별로 정렬되며 여기서는 작동하지 않습니다. – criszhao
오, 그래 맞아 ... 그냥 값으로 정렬 비교기를 사용하십시오 : http://stackoverflow.com/questions/1448369/how-to-sort-a-treemap-based-on-its-values – jcampos8782