Cosa succederà se fornisco un transitivo non transitabile Comparator
a Collections.sort
? Posso correre in loop infinito?L'ordinamento da parte di un comparatore non transitivo "funziona"?
Un piccolo test che ho scritto ha prodotto un'uscita, ma voglio essere sicuro che sia sempre così.
Il problema è che in alcuni casi, il mio comparatore può produrre cicli, e in questo caso voglio solo assicurarmi che non giri in loop infinito. Non mi interessa il risultato reale.
Magari postare qualche codice rilevante? – pap
Questa è una domanda generale, non rilevante per un codice specifico - la domanda è qual è il comportamento se fornisco un comparatore che non è transitivo a Collections.sort – duduamar
Il comportamento dell'utilizzo di un 'comparatore 'non transitivo' non è definito, come 'Comparator' non transitivo ** non è correttamente implementato **. In pratica, sono * abbastanza * sicuro che 'Collections.sort()' non * eseguirà * in un ciclo infinito, anche se il 'Comparator' è rotto. Ma nulla nelle specifiche * richiede * questo comportamento. –