Ir para conteúdo
  • 0

[Dúvida] Top 5


0xFFFF

Pergunta

7 respostass a esta questão

Posts Recomendados

voce pode usar o método sort da classe Collections

exemplo:

List<Integer> list = new ArrayList<>(Arrays.asList(3, 1, 4, 2));
System.out.println("Lista desorganizada: " + list);
Collections.sort(list, (a, b) -> a - b);
System.out.println("Lista organizada: " + list);
Editado por jeta
Link para o comentário
Compartilhar em outros sites

 

voce pode usar o método sort da classe Collections

exemplo:

List<Integer> list = new ArrayList<>(Arrays.asList(3, 1, 4, 2));
System.out.println("Lista desorganizada: " + list);
Collections.sort(list, (a, b) -> a - b);
System.out.println("Lista organizada: " + list);

 

Isso se aplica a hashmap também ?

Link para o comentário
Compartilhar em outros sites

 

voce pode usar o método sort da classe Collections

exemplo:

List<Integer> list = new ArrayList<>(Arrays.asList(3, 1, 4, 2));
System.out.println("Lista desorganizada: " + list);
Collections.sort(list, (a, b) -> a - b);
System.out.println("Lista organizada: " + list);

 

Ainda não entendi como pega o top1,2,3 e 4 ...

Link para o comentário
Compartilhar em outros sites

Eu uso isso:

	public void top5() {
		Map<String, Integer> playerskills = new HashMap<>();
		playerskills.put("FilipeNock", 220);
		playerskills.put("Notch", 560);
		playerskills.put("DeadByAUnicorn", 5);
		playerskills = sortByValue(playerskills);
		int top = 1;
		for (String s : playerskills.keySet()) {
			if (top < 5) {
				Bukkit.broadcastMessage("TOP "+top+" : Kills: " + playerskills.get(s));
				top++;
			}
		}
	}
	
	public Map<String, Integer> sortByValue(Map<String, Integer> map) {
		List<Map.Entry<String, Integer>> list = new LinkedList<Map.Entry<String, Integer>>(map.entrySet());
		Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
			public int compare(Map.Entry<String, Integer> m1, Map.Entry<String, Integer> m2) {
				return (m2.getValue()).compareTo(m1.getValue());
			}
		});
		Map<String, Integer> result = new LinkedHashMap<String, Integer>();
		for (Map.Entry<String, Integer> entry : list) {
			result.put(entry.getKey(), entry.getValue());
		}
		return result;
	}
Link para o comentário
Compartilhar em outros sites


LinkedHashMap<Integer, String> sortedMap = SUA_HASHMAP.entrySet().stream()

.sorted(Map.Entry.comparingByKey(Comparator.reverseOrder()))

.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,

(oldValue, newValue) -> oldValue, LinkedHashMap::new));

 

sortedMap.forEach((key, value) ->

System.out.printLn("#" + key + " - " + value)

);

Link para o comentário
Compartilhar em outros sites

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