Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Ordene la lista de una manera diferente

Buena dia yo para ordenar la lista use el metodo que el profe enseño en una clase anterior

    tarjeta.getListaDeCompras().sort(Comparator.comparing(Compra::getValor));
    

me gustaria saber que diferencia hay entre utilizar este metodo y el que utilizo el profesor en esta clase que fue un poco extenso?

1 respuesta

¡Hola Adrian!

Entiendo tu duda sobre la diferencia entre el método que utilizaste para ordenar la lista y el método que el profesor enseñó en la clase. En el código que compartiste, utilizaste el método sort de la lista de compras, pasando un comparador que compara las compras por su valor. Por otro lado, el método que el profesor enseñó implica implementar la interfaz Comparable en la clase Compra y luego sobrescribir el método compareTo para definir cómo se deben comparar las compras.

La diferencia principal radica en que al implementar la interfaz Comparable, estás definiendo la lógica de comparación directamente en la clase Compra, lo que significa que cualquier operación de ordenamiento o comparación que involucre objetos de tipo Compra utilizará esa lógica de comparación. Por otro lado, al utilizar el método sort con un comparador, estás definiendo la lógica de comparación en el momento de ordenar la lista, lo que te da la flexibilidad de utilizar diferentes criterios de comparación en diferentes situaciones sin necesidad de modificar la clase Compra.

En resumen, la diferencia principal radica en el momento y la forma en que se define la lógica de comparación, ya sea directamente en la clase o en el momento de ordenar la lista.

Espero que esta explicación te ayude a comprender las diferencias entre ambos enfoques. ¡Si tienes alguna otra pregunta, no dudes en preguntar!

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!