NameList.java
package name;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import javax.swing.text.html.HTMLDocument.Iterator;
public class Namelist {
public static void main(String args[])
{
List c=new LinkedList();
c.add(new Name("wang","Lucy"));
c.add(new Name("zs","Bsf"));
c.add(new Name("zs","Bsf"));
c.add(new Name("zs","Alla"));
//c.add(new String("ff"));
// Collection d=new ArrayList();
//d.add(new Integer(5));
//d.add(new String("hh"));
//c.addAll(d);
//System.out.println(d);
System.out.println(c.size());
System.out.println(c);
System.out.print(c);
System.out.println("SORT:");
Collections.sort(c);
System.out.println(c);
Collections.reverse(c);
System.out.println(c);
Collections.reverse(c);
System.out.println(c);
java.util.Iterator i= c.iterator();
while(i.hasNext() )
{
Name name=(Name)i.next();
System.out.print(name.toString()+" , ");
}
}
}
Name.java
package name;
public class Name implements Comparable {
private String firstname,lastname;
public Name(String firstname,String lastname)
{
this.firstname=firstname;
this.lastname=lastname;
}
public String getfirstname()
{
return firstname;
}
public String getlastname()
{
return lastname;
}
public String toString()
{
return lastname+" "+firstname;
}
public boolean equals(Object obj)
{
if (obj instanceof Name)
{
Name name=(Name)obj;
if(firstname.equals (name.firstname)&&lastname.equals(name.lastname))
return true;
}
return super.equals(obj);
}
public int hashCode()
{return firstname.hashCode();
}
@Override
public int compareTo(Object o) {
Name na=(Name)o;
int last=lastname.compareTo(na.lastname);
return (last!=0?last:firstname.compareTo(na.firstname));
}
}