Korean subtitles

← 21-35 Implementing Comparable

Get Embed Code
6 Languages

Showing Revision 1 created 11/23/2014 by Robin Rheem.

  1. 문자열은 비교가 가능하기에 한 줄의 코드를 이용해서 정렬할 수 있습니다.
  2. 정렬되지 않은 많은 문자열을 저장하고 있는 배열 리스트를 선언하고
  3. 알파뱃순으로 정렬하고 싶다면, collections.sort(strings)를
  4. 추가하면 됩니다. Collections는 몇 가지의 유용한
  5. 유틸리티 메소드들을 담고 있습니다. 이를 컴파일하고 코드를 실행하면,
  6. 제가 리스트에 추가한 모든 동물들을 A에서 W순으로 출력합니다.
  7. 나라들도 이렇게 정렬하면 좋다고 생각합니다. 나라들은 면적에 따라
  8. 정렬되어 있다고 합시다. Country 클래스를 위한 campareTo 메소드를
  9. 구현해 봅시다. 이런 식으로 나라들을 저장하는 배열 리스트를 선언하고,
  10. 그런 후에 Arrays 클래스에서 sort 메소드를 이용해서 나라들을
  11. 정렬하는 겁니다. 이제 Comparable 인터페이스를 Country 클래스에
  12. 선언해 봅시다. 이 메소드는
  13. public int compareTo여야 합니다. 이 메소드는
  14. 객체인 otherObject를 매개변수로 받습니다. 객체끼리 비교를 하려면,
  15. 가장 먼저 해야할 일은, otherObject가 이름과
  16. 면적이 있는지 봐야 합니다. 만약 otherObject가 나라가 아니면, 이
  17. 나라와 비교하는 것은 무의미합니다. 자바를 계속 공부하게 되면,
  18. 제네릭을 이용해서 강제 형변환을 피하게 될 수 있습니다. 지금으로서는,
  19. compareTo 메소드를 구현하는 데 집중합시다. 제가 전에 설명한
  20. 것처럼 메소드를 구현하세요. 만약 나라가 비교하는 나라보다
  21. 작으면 음수를 출력하도록 하고, 더 크다면 양수, 둘이 같다면
  22. 0을 출력하도록 합니다. 여러분을 위해 .equals를 구현한 것을 보세요.
  23. 이를 이용하세요. 만약 두 나라의 면적이 정확히 같다면, 이름을 이용해서
  24. 같지 않다는 것을 알릴 수 있습니다. 나머지를 구현해주세요.