zoukankan      html  css  js  c++  java
  • java例程练习(Comparable接口)

    import java.lang.Comparable;
    import java.util.List;
    import java.util.LinkedList;
    import java.util.Collections;
    
    public class TestCompareTo {
    
    	public static void main(String[] args) {
    		List l1 = new LinkedList();
    		
    		l1.add(new Name("Karl", "M"));
    		l1.add(new Name("Stever", "Lee"));
    		l1.add(new Name("John", "O"));
    		l1.add(new Name("Tom", "M"));
    		
    		System.out.println(l1);
    		
    		Collections.sort(l1);
    		System.out.println(l1);
    			
    	}
    }
    
    class Name implements Comparable{
    	private String firstName;
    	private String lastName;
    	
    	Name(String firstName, String lastName) {
    		this.setFirstName(firstName);
    		this.setLastName(lastName);
    	}
    	
    	public void setFirstName(String firstName) {
    		this.firstName = firstName;
    	}
    	
    	public String getFirstName() {
    		return firstName;
    	}
    	
    	public void setLastName(String lastName) {
    		this.lastName = lastName;
    	}
    	
    	public String getLastName() {
    		return lastName;
    	}
    	
    	public String toString() {
    		return firstName + " " + lastName;
    	}
    	
    	public boolean equals(Object obj) {
    		if(obj instanceof Name) {
    			Name name = (Name) obj;
    			return (firstName.equals(name.firstName)) && 
    				   (lastName.equals(name.lastName));
    		}
    		return super.equals(obj);
    	}
    	
    	public int hashCode() {
    		return firstName.hashCode();
    	}
    	
    	public int compareTo(Object o) {
    		Name n = (Name) o;
    		int lastCmp = lastName.compareTo(n.lastName);
    		return (lastCmp != 0 ? lastCmp : firstName.compareTo(n.firstName));
    	}
    	
    }
    

  • 相关阅读:
    main方法为什么一定是Public static void
    DOS下编译运行小应用程序
    HelloWorld
    MySQL INFORMATION_SCHEMA 使用(转)
    MySQL int(M)的意义(转)
    Mysql 字符串类型及大小写
    使用Zookeeper 实现选主从或者分布式锁
    记一次CountDownLatch引发的问题
    Mysql恢复部分数据
    记一次Java内存性能分析
  • 原文地址:https://www.cnblogs.com/wjchang/p/3671708.html
Copyright © 2011-2022 走看看