Sortarea poate fi dificilă, mai ales atunci când lista dvs. nu este de tip numeric Java primitiv (Octet, Întreg, Scurt, Lung, Dublu, Flotant). Acum, toate situațiile vor varia, astfel încât această metodă ar putea să nu fie cel mai bun caz. Cu toate acestea, l-am găsit incredibil de util pentru provocări simple de codificare și sarcini de laborator universitare.
Pentru început, alegeți lista. Pentru acest exemplu voi folosi o listă de Edges
dintr-un simplu Graph
structură de date:
// Very simple Edge classpublic class Edge { public Vertex src; public Vertex dst; public double cost; // creates an edge between two vertices Edge(Vertex s, Vertex d, double c) { src = s; dst = d; cost = c; }}
// List of edgesEdge[] edges = graph.getEdges();
Apoi, definiți implementarea fișierului java.util.Comparator
interfață:
class SortByCost implements Comparator<Edge> { public int compare(Edge a, Edge b) { if ( a.cost < b.cost ) return -1; else if ( a.cost == b.cost ) return 0; else return 1; }}
În acest exemplu, vom sorta fișierul edges
prin costul sau distanța de la src
(sursă) vârf la dst
(destinație) vârf.
În cele din urmă utilizați standardul java.util.Arrays.sort()
metodă:
Arrays.sort(edges, new SortByCost())
Și exact așa, lista de Edges
este acum sortat în ordine crescătoare (de la cel mai mic la cel mai mare).
Dacă aveți întrebări, nu ezitați să contactați Stare de nervozitate
De asemenea, mă puteți găsi pe GitHub sau personalul meu site-ul web
~ Codificare fericită
– Ethan Arrowood
#Utilizarea #Javas #Arrayssort #pentru #orice #Listă #obiecte
Utilizarea Java’s Arrays.sort () pentru orice Listă de obiecte