¡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!