seleccion secuencial por ordenamiento metodos insercion ejemplos busqueda burbuja algoritmos java vector sorting

java - secuencial - ordenamiento por seleccion c++



¿Qué función se puede usar para ordenar un Vector? (7)

Collections.sort (nameOfTheVectorToBeSorted); prueba esto con tu vector, que será ordenado.

No puedo encontrar ninguna función de clasificación en la API de Java para vectores. Collections.sort es solo para List<T> y no para Vector<T> .

No quiero escribir mi propia función de clasificación porque creo que Java debería implementar esto.

Estoy buscando algo como:

class ClassName implements Comparator<ClassName> .. ClassName cn = ..; sort(cn);


De acuerdo con la especificación de API de Java para la clase Vector , implementa la interfaz de List que se necesita para usar el método Collections.sort .

Además, como nota, para la mayoría de los usos, la clase Vector podría reemplazarse mediante el uso de una de las implementaciones de listas en Java Collections Framework, como ArrayList . La clase Vector está sincronizada, por lo tanto, a menos que exista una necesidad real de acceso sincronizado, se debe usar una de las otras implementaciones de la List .


De acuerdo con los documentos API , Vector simplemente implementa List , por lo que no preveo problemas. Tal vez tu confusión fue causada porque declaraste Vector según el viejo estilo Java 1.0:

Vector vector = new Vector();

en lugar de declararlo contra la interfaz (que se considera una buena práctica):

List list = new Vector();

Por lo tanto, puede hacer uso de Collections#sort() para ordenar una colección, Comparable para definir el comportamiento predeterminado de ordenamiento y / o Comparator para definir un comportamiento de ordenamiento externo controlable.

Aquí hay un tutorial de Sun sobre ordenar objetos.

Aquí hay otra respuesta SO con ejemplos completos de código.

Dicho esto, ¿por qué sigues apegándote a la clase Vector heredada ? Si puede, simplemente reemplace por la ArrayList mejorada que fue diseñada como reemplazo de Vector más de una década.


No olvides agregar implements Comparable<> en tu clase:

public class XXXX implements Comparable<XXXX> { }

Y para redefinir compareTo() en su clase del tipo de objeto almacenado en su vector.

Obtuve este problema también, Eclipse IDE me decía que Collection.sort() era solo para List<T> . No podría hacer que funcione hasta que hice lo que acabo de decir.


Vector es una lista


Vector implements List, por lo que Collections.sort funcionaría.


Collections.sort(vector_name)

Clasificará el vector en su lugar, por lo que no necesita asignar el resultado del comando anterior al vector.

Esto funciona porque los Vectores son implementaciones de Listas.