Spanish, Mexican subtitles

← 21-35 Implementing Comparable

21-35 Implementing Comparable

Get Embed Code
6 Languages

Showing Revision 1 created 07/03/2015 by carlos_upload.

  1. Debido a que las cadenas son comparables, podemos ordenarlas al escribir una línea de código.
  2. Si creo una Arraylist de cadenas y añado un montón de cosas sin orden
  3. alguno y luego quiero imprimirlas en orden alfabético, puedo añadir la
  4. línea collections.sort strings. Colecciones es una clase que se parece un poco a una carrera,
  5. y que tiene algunos métodos de utilidad útiles. Si compilo y ejecuto este código,
  6. imprimirá todos los animales que he añadido a la lista, pero de la A a la W. Nosotros
  7. quizá querríamos clasificar países de este modo también. Digamos que los países están
  8. ordenados naturalmente por sus áreas. Vamos a implementar el método compareTo para
  9. los países. Quiero poder hacer un array de países así, y luego
  10. utilizar el método sort en la clase Arrays que ordena todos los países del
  11. array, para que esto funcione. Vamos a implementar el método comparable para
  12. los países. Vamos a tener que hacer el país Mensurable y también Comparable. Ahora,
  13. el método debe ser público y devolver un int. Se llama compareTo y
  14. toma un objeto, otherObject. Ahora bien, si queremos comparar otherObject con este
  15. objeto, lo primero que tendremos que hacer es comprobar si en realidad otherObject
  16. tiene un nombre y un área. Si otherObject no es un país, entonces en realidad no
  17. tiene sentido compararlo con este país. Si sigues estudiando Java, podrás
  18. encontrar la manera de evitar este cast usando genéricos. Por ahora, vamos a centrarnos
  19. en el método compareTo. Por ahora, completa el código, para que compareTo funcione como
  20. he descrito antes para países. Devuelve un número negativo si este país es
  21. más pequeño que otro, positivo si este país es más grande, cero si los dos
  22. países son iguales. Y fíjense, implementé .equals para ustedes. Así que ahora pueden usar
  23. éste. Y si los países son exactamente del mismo tamaño, puedes romper el empate usando
  24. el nombre. ¿Puedes completar el resto para mí?