zoukankan      html  css  js  c++  java
  • [20160725]MyComparableTest

    知识点:

    1、Collections的使用。

    2、自定义类泛型的使用。

    3、自定义类,toString();equals();hashCode()方法的重写。

     1 import java.util.*;
     2 
     3 public class MyComparableTest{
     4   public static void main(String[] args) {
     5     List<Name> a=new LinkedList<Name>();
     6     a.add(new Name("shang","zeng"));
     7     a.add(new Name("qi","li"));
     8     a.add(new Name("mei","niang"));
     9     a.add(new Name("peingfei","chen"));
    10 
    11     System.out.println(a);
    12     Collections.sort(a);
    13     System.out.println(a);
    14 
    15 
    16     System.out.println(a.remove(new Name("peingfei","chen")));
    17     System.out.println(a);
    18 
    19   }
    20 }
    21 
    22 class Name implements Comparable<Name>{
    23   String firstname,lastname;
    24 
    25   public Name(String firstname,String lastname){
    26     this.firstname=firstname;
    27     this.lastname=lastname;
    28   }
    29 
    30     public String toString(){
    31      return(firstname+" "+lastname);
    32   }
    33 
    34 /* //equals()method one
    35   public boolean equals(Object obj){
    36     if (obj==null){  return false;  }
    37     else
    38        { if(obj instanceof Name)
    39              {
    40                Name n = (Name)obj;
    41                if (this.firstname.equals(n.firstname) && this.lastname.equals(n.lastname)){return true;}
    42              }
    43 
    44         return false;
    45        }
    46   }
    47 */
    48   // equals()methoed two
    49 public boolean equals(Object obj){
    50    if(obj instanceof Name){
    51      Name n=(Name)obj;
    52      return (this.firstname.equals(n.firstname))
    53          && (this.lastname.equals(n.lastname));
    54    }
    55 
    56     return super.equals(obj);
    57 }
    58 
    59   public int hashCode(){  return firstname.hashCode();  }
    60 
    61    public int compareTo(Name o){
    62      int lastnamecompare=lastname.compareTo(o.lastname);
    63      return
    64          (lastnamecompare!=0?lastnamecompare:firstname.compareTo(o.firstname));
    65    }
    66 }
  • 相关阅读:
    马士兵Java学习之路
    @Component, @Repository, @Service的区别
    编译器警告:CGContextSaveGState: invalid context 0x0
    Other Linker Flags到底是什么
    Xcode常用快捷键(持续更新-20160811)
    iOS应用文件夹
    iOS compare 字符串比较
    去掉UITableView多余的空白行分割线
    iOS 查询数组中的对象
    UISearchController使用
  • 原文地址:https://www.cnblogs.com/jasonzeng888/p/5703388.html
Copyright © 2011-2022 走看看