Помогите Достаем строку с наибольшим значением Int

  • Автор темы Автор темы SaMEC
  • Дата начала Дата начала

SaMEC

Старожил
Пользователь
Баллы
173
Имя в Minecraft
Nick
Чет слегка запарился с проблемкой на обнаружение самого большого значения конфига и получения строки с этим значением.
Не кто не знает как это решить?
 
Пример конфига?
Примерно что-то такое
PHP:
int max = 0;
for(String key : config.getKeys(false)) {
    if(config.getInt(key)>max) max = config.getInt(key);
}
 
Последнее редактирование:
*Принцип получения максимального значения из массива изучают на информатике в девятом классе*
 
*Принцип получения максимального значения из массива изучают на информатике в девятом классе*
Лол, в девятом классе гоняли разные задачки, совершенно не связанные с программированием, иногда готовились к экзаменам, поэтому всему, что тебе нужно, надо учиться самостоятельно.
 
Это при условии, что ты не даун и с логикой все нормально, самому можно додуматься
а это уже обидно было, не все же ботаники которые по 18 часов сидят и программируют, закрывшись в комнате и не видя мир.
 
Последнее редактирование:
а это уже обидно было, не все же ботаники которые по 18 часов сидят и программируют, закрывшись в комнате и не видя мир.
Это же математика. В начальной школе учат сравнивать больше меньше.
 
Вот моя логика, может кому понадобится.
Код:
     Map<String, Integer> stats = new HashMap<>();


          for(String p : c.getConfigurationSection("stats").getKeys(false)){
            stats.put(p, c.getInt("stats."+p));
          }
       String name = "";
       int coins = 0;
       for(int i = 1; i < 3; i++){
        for(String p : stats.keySet()){
        if(stats.get(p) > coins){
        name = p;
        coins = stats.get(p);
        }}
         Bukkit.broadcastMessage(i+" # "+ name+ " : "+coins);
        stats.remove(name);
        name = "";
        coins = 0;
}
Конечно открыл для себя вот такие вещи:
collections.sort
collections.revers
TreeMultimap
Ну это так к слову может кому и пригодится в будущем.
 
Может будет полезно для развития:
Java:
ConfigurationSection statsSection = config.getConfigurationSection("stats");
Map<String, Integer> stats = statsSection.getKeys(false)
        .stream()
        .collect(Collectors.toMap(Function.identity(), statsSection::getInt, (a, b) -> b));
List<Map.Entry<String, Integer>> top3 = stats.entrySet().stream()
        .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
        .limit(3)
        .collect(Collectors.toList());
int id = 1;
for (Map.Entry<String, Integer> entry : top3) {
    Bukkit.broadcastMessage(id + " #" + entry.getKey() + ": " + entry.getValue());
    id += 1;
}
 
-96 70 450
Может будет полезно для развития:
Java:
ConfigurationSection statsSection = config.getConfigurationSection("stats");
Map<String, Integer> stats = statsSection.getKeys(false)
        .stream()
        .collect(Collectors.toMap(Function.identity(), statsSection::getInt, (a, b) -> b));
List<Map.Entry<String, Integer>> top3 = stats.entrySet().stream()
        .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
        .limit(3)
        .collect(Collectors.toList());
int id = 1;
for (Map.Entry<String, Integer> entry : top3) {
    Bukkit.broadcastMessage(id + " #" + entry.getKey() + ": " + entry.getValue());
    id += 1;
}
Вполне полезно
 
Назад
Верх