<?xml version="1.0" encoding="utf-8"  ?>
<rss version="2.0">
	<channel>
		<title>Programmazione 2 -a.a. 2011-12 &gt; Esempi &gt; Comparator</title>
		<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2012Programmazione2&amp;section=190&amp;page=690</link>
		<description></description>
		<lastBuildDate>Thu, 23 Feb 2023 07:14:25 +0100</lastBuildDate>
		<generator>Segue RSS Generator</generator>
		<item>
			<title>Questo esempio si basa su...</title>
			<link>http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2012Programmazione2&amp;section=190&amp;page=690&amp;story=1630&amp;detail=1630</link>
			<guid isPermaLink="true">http://latemar.science.unitn.it/segue/index.php?&amp;action=site&amp;site=2012Programmazione2&amp;section=190&amp;page=690&amp;story=1630&amp;detail=1630</guid>
			<pubDate>Wed, 18 Apr 2012 22:04:00 +0200</pubDate>
			<author>Marco Ronchetti marco.ronchetti@unitn.it</author>
<description>&lt;strong&gt;Questo esempio si basa sul polimorfismo e sul concetto di comparator.&lt;br /&gt;&amp;nbsp;Si esamini il codice e si cerchi di comprendere dettagliatamente l&#039;ordine dell&#039;output.&lt;br /&gt;&lt;br /&gt;Main.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package comparatorexample;&lt;br /&gt;&lt;br /&gt;import java.util.Collections;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.LinkedList;&lt;br /&gt;import java.util.List;&lt;br /&gt;&lt;br /&gt;public class Main {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Docente x=new Docente(&amp;quot;Mario&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Docente y=new Docente(&amp;quot;Sandra&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Studente z=new Studente(&amp;quot;Giovanna&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Studente w=new Studente(&amp;quot;Antonio&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Persona&amp;gt; c=new LinkedList&amp;lt;Persona&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.add(x);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.add(y);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.add(z);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.add(w);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Collections.sort(c);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Iterator&amp;lt;Persona&amp;gt; i=c.iterator();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (i.hasNext()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Persona p=i.next();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(p);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br /&gt;Sandra Docente&lt;br /&gt;Mario Docente&lt;br /&gt;Giovanna Studente&lt;br /&gt;Antonio Studente&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Persona.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package comparatorexample;&lt;br /&gt;&lt;br /&gt;class Persona implements Comparable{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String name=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int compareTo(Object t) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (t instanceof Docente) return 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if(t instanceof Studente) return -1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String toString(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return name+&amp;quot; &amp;quot;+this.getClass().getSimpleName();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Docente.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package comparatorexample;&lt;br /&gt;&lt;br /&gt;class Docente extends Persona implements Comparable{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Docente(String s) {name=s;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int compareTo(Docente t) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.name.compareTo(t.name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Studente.java&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;package comparatorexample;&lt;br /&gt;&lt;br /&gt;class Studente extends Persona implements Comparable{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Studente(String s) {name=s;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int compareTo(Studente t) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.name.compareTo(t.name);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}</description>
		</item>
	</channel>
</rss>