Ir para conteúdo

AJUDA COM HASHMAP


GabrielF

Posts Recomendados

Eu estou fazendo um plugin de /staff, onde ele deveria organizar os staffers online de acordo com o grupo do jogador. Se for master, fica em cima, se for gerente fica embaixo, se for ajudante fica mais embaixo ainda... porém ele não funciona... alguém sabe onde tá o erro???

 

 

STAFFF.png

staf.png

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Mateusão disse:

HashMaps não guardam a ordem, porém LinkedHashMaps sim, então recomendo usa-lo

image.png

Ainda não resolveu... acho que o erro é aqui, mas não tenho certeza:

 

                Stream<Entry<String, Integer>> gruposOrdenados = grupos.entrySet().stream().sorted((x, y) -> y.getValue().compareTo(x.getValue()));
                gruops2 = (List) gruposOrdenados.collect(Collectors.toList());

                for(Entry<String, Integer> entrada : gruops2) {
                    String grup = entrada.getKey();
                    str.append(grup + "§8[" + p2.getServer().getInfo().getName().toUpperCase() + "] §f" + p2.getName() + "\n");
                    grupos.clear();
                    //    gruops2.clear();
                }

Link para o comentário
Compartilhar em outros sites

1 hora atrás, GabrielF disse:

image.png

Ainda não resolveu... acho que o erro é aqui, mas não tenho certeza:

 

                Stream<Entry<String, Integer>> gruposOrdenados = grupos.entrySet().stream().sorted((x, y) -> y.getValue().compareTo(x.getValue()));
                gruops2 = (List) gruposOrdenados.collect(Collectors.toList());

                for(Entry<String, Integer> entrada : gruops2) {
                    String grup = entrada.getKey();
                    str.append(grup + "§8[" + p2.getServer().getInfo().getName().toUpperCase() + "] §f" + p2.getName() + "\n");
                    grupos.clear();
                    //    gruops2.clear();
                }

Achei um código no StackOverflow, acho que vai ajudar você:

    public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map) {
        List<Entry<K, V>> list = new ArrayList<>(map.entrySet());
        list.sort(Entry.comparingByValue());

        Map<K, V> result = new LinkedHashMap<>();
        for (Entry<K, V> entry : list) {
            result.put(entry.getKey(), entry.getValue());
        }

        return result;
    }


Isso vai retornar um Map ordenado por valor, vê se funciona.
 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Mateusão disse:

Achei um código no StackOverflow, acho que vai ajudar você:


    public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map) {
        List<Entry<K, V>> list = new ArrayList<>(map.entrySet());
        list.sort(Entry.comparingByValue());

        Map<K, V> result = new LinkedHashMap<>();
        for (Entry<K, V> entry : list) {
            result.put(entry.getKey(), entry.getValue());
        }

        return result;
    }


Isso vai retornar um Map ordenado por valor, vê se funciona.
 

Ainda não funcionou... 

https://prnt.sc/tst7ky

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...