{"id":669,"date":"2024-02-27T20:28:53","date_gmt":"2024-02-27T20:28:53","guid":{"rendered":"https:\/\/javigomez.org\/?p=669"},"modified":"2025-09-29T20:33:34","modified_gmt":"2025-09-29T20:33:34","slug":"u10-04-clases-en-java-comparable-ii","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2024\/02\/27\/u10-04-clases-en-java-comparable-ii\/","title":{"rendered":"U10-04-Clases en Java \u2013 Comparable II"},"content":{"rendered":"\n<p>La interfaz Comparable es una interfaz com\u00fan en Java utilizada para comparar objetos del mismo tipo. Sirve para establecer un orden natural entre objetos de una clase concreta. <\/p>\n\n\n\n<p>Define un m\u00e9todo \u00fanico llamado <strong>compareTo <\/strong>para comparar dos objetos del mismo tipo. Permite ordenar colecciones de objetos que implementan esta interfaz utilizando m\u00e9todos como Collections.sort y Arrays.sort. <\/p>\n\n\n\n<p>Facilita el uso de objetos como claves en mapas ordenados y elementos en conjuntos ordenados. <\/p>\n\n\n\n<p>M\u00e9todo <strong>compareTo<\/strong>: Es un m\u00e9todo abstracto (sin implementaci\u00f3n en la propia interfaz). Recibe un objeto del mismo tipo como argumento. Devuelve un entero con el siguiente significado: <\/p>\n\n\n\n<p>0: Los objetos son iguales. <\/p>\n\n\n\n<p>Valor negativo: El objeto actual es menor que el objeto pasado como argumento. <\/p>\n\n\n\n<p>Valor positivo: El objeto actual es mayor que el objeto pasado como argumento.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import java.util.Arrays;\n\npublic class E00_00 {\n\n\tpublic static void main(String&#91;] args) {\n\t\t\n\t\tint&#91;] numeros = new int&#91;3];\n\t\tnumeros&#91;0]=3; numeros&#91;1]=1; numeros&#91;2]=2;\n\t\tSystem.out.println(Arrays.toString(numeros));\n\t\tArrays.sort(numeros);\n\t\tSystem.out.println(Arrays.toString(numeros));\n\t\t\n\t\tPersona p0=new Persona (0,\"Carlos\");\n\t\tPersona p1=new Persona (1,\"Lara\");\n\t\tPersona p2=new Persona (2,\"Maria\");\n\t\t\n\t\tPersona&#91;] personas = new Persona&#91;3];\n\t\tpersonas&#91;0]=p1;\tpersonas&#91;1]=p2;\tpersonas&#91;2]=p0;\n\t\tSystem.out.println(Arrays.toString(personas));\n\t\tArrays.sort(personas);\n\t\tSystem.out.println(Arrays.toString(personas));\n\n\t}\n}\n\nclass Persona implements Comparable{\n\tint id;\n\tString nombre;\n\tPersona (int i,String n){\n\t\tthis.id=i;\n\t\tthis.nombre=n;\n\t}\n\tpublic String toString() {\n\t\treturn \"ID: \" + this.id + \" Nombre: \" + this.nombre;\n\t}\n\t@Override\n\tpublic int compareTo(Object o) {\n\t\tPersona p=(Persona) o;\n\t\treturn(this.nombre.compareTo(p.nombre));\n\t}\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Java U10 04 Clases Comparable II\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/8kylbZFuUZg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>La interfaz Comparable es una interfaz com\u00fan en Java utilizada para comparar objetos del mismo tipo. Sirve para establecer un orden natural entre objetos de &hellip; <\/p>\n","protected":false},"author":1,"featured_media":670,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[79,86,203,265,311],"class_list":["post-669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-clases","tag-comparable","tag-java","tag-poo","tag-sort"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=669"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/669\/revisions"}],"predecessor-version":[{"id":881,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/669\/revisions\/881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media\/670"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}