Войти или зарегистрироваться

Помогите Организация топа убийц

ReloGGrc

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
ALis
В общем, нужна помощь с организацией топа убийц, Я не представляю как это сделать, ладно ещё получить кол-во убийств, но как отсортировать их что бы по убыванию отображались. Помогите пожалуйста!
 
Все записи добавить в мапу и отсортировать эту мапу по значению.
В качестве ключа UUID или ник игрока, в качестве значения кол-во убийств.

Сортировка мапы по значению:
PHP:
public static <K, V> LinkedHashMap<K, V> sortMapByValue(Map<K, V> unsortedMap, Comparator<? super V> valueComparator) {
    LinkedHashMap<K, V> sortedMap = new LinkedHashMap<>(unsortedMap);
    List<Map.Entry<K, V>> entries = new ArrayList<>(sortedMap.entrySet());
    sortedMap.clear();
    entries.stream()
        .sorted(Map.Entry.comparingByValue(valueComparator))
        .forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue()));
    return sortedMap;
}

В качестве компаратора можно использовать что-то из этого:
PHP:
    public static final Comparator<Double> DOUBLE_MIN_TO_MAX_COMPARATOR = Comparator.comparingDouble(o -> o);
    public static final Comparator<Double> DOUBLE_MAX_TO_MIN_COMPARATOR = DOUBLE_MIN_TO_MAX_COMPARATOR.reversed();
    public static final Comparator<Integer> INTEGER_MIN_TO_MAX_COMPARATOR = Comparator.comparingInt(o -> o);
    public static final Comparator<Integer> INTEGER_MAX_TO_MIN_COMPARATOR = INTEGER_MIN_TO_MAX_COMPARATOR.reversed();
    public static final Comparator<Long> LONG_MIN_TO_MAX_COMPARATOR = Comparator.comparingLong(o -> o);
    public static final Comparator<Long> LONG_MAX_TO_MIN_COMPARATOR = LONG_MIN_TO_MAX_COMPARATOR.reversed();
 
Последнее редактирование:
Все записи добавить в мапу и отсортировать эту мапу по значению.
В качестве ключа UUID или ник игрока, в качестве значения кол-во убийств.

Сортировка мапы по значению:
PHP:
public static <K, V> LinkedHashMap<K, V> sortMapByValue(Map<K, V> unsortedMap, Comparator<? super V> valueComparator) {
    LinkedHashMap<K, V> sortedMap = new LinkedHashMap<>(unsortedMap);
    List<Map.Entry<K, V>> entries = new ArrayList<>(sortedMap.entrySet());
    sortedMap.clear();
    entries.stream()
        .sorted(Map.Entry.comparingByValue(valueComparator))
        .forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue()));
    return sortedMap;
}

В качестве компаратора можно использовать что-то из этого:
PHP:
    public static final Comparator<Double> DOUBLE_MIN_TO_MAX_COMPARATOR = Comparator.comparingDouble(o -> o);
    public static final Comparator<Double> DOUBLE_MAX_TO_MIN_COMPARATOR = DOUBLE_MIN_TO_MAX_COMPARATOR.reversed();
    public static final Comparator<Integer> INTEGER_MIN_TO_MAX_COMPARATOR = Comparator.comparingInt(o -> o);
    public static final Comparator<Integer> INTEGER_MAX_TO_MIN_COMPARATOR = INTEGER_MIN_TO_MAX_COMPARATOR.reversed();
    public static final Comparator<Long> LONG_MIN_TO_MAX_COMPARATOR = Comparator.comparingLong(o -> o);
    public static final Comparator<Long> LONG_MAX_TO_MIN_COMPARATOR = LONG_MIN_TO_MAX_COMPARATOR.reversed();
Спасибо, попробую(это я, но с другого аккаунта)
 
Назад
Верх