知识点:

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 }

转载于:https://www.cnblogs.com/jasonzeng888/p/5703388.html

[20160725]MyComparableTest相关推荐

  1. Git相关二三事(git reflog 和彩色branch)【转】

    转自:https://www.jianshu.com/p/3622ed542c3b 背景 git太常用了,虽然,用起来不难,但也有很多小技巧的东西... 1. 后悔药 哪天不小心,写完代码,没comm ...

  2. 【iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决(2016 12 15 更新)...

    〇.前言 在iOS开发中 [CocoaPods](https://github.com/CocoaPods/CocoaPods) 作为库依赖管理工具就是一把利器. 有了 CocoaPods 则无需再通 ...

  3. 时间序列(三)滑动窗口

    滑动窗口就是能够根据指定的单位长度来框住时间序列,从而计算框内的统计指标.相当于一个长度指定的滑块在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据. import matplotlib.pylab ...

  4. awk 系列:awk 怎么读取标准输入(STDIN)

    在 awk 系列的前几节,我们看到大多数操作都是从一个文件或多个文件读取输入,或者你想要把标准输入作为 awk 的输入. 在 awk 系列的第七节中,我们将会看到几个例子,你可以筛选其他命令的输出代替 ...

  5. python截取html图片大小,Python打开html文件,截取屏幕截图,裁剪并保存为图像

    我使用Bokeh软件包生成地图以显示模拟结果.输出是具有交互性的html格式的单独地图.交互性是个别地图所必需的.Python打开html文件,截取屏幕截图,裁剪并保存为图像 请参阅此链接的示例: 仿 ...

  6. Qlikview 的服务器

    Qlikview 的服务器 服务器管理 1 , Create a job 1.1 转到 Documents 分页 1.2 从左边目录搜索到 需要执行Job的qvw报表,如 "getting ...

  7. R语言如何画个性化词云图

    我之前写了一篇关于使用wordcloud包的文本可视化的博客.点击查看. Ian Fellows与2014-06-13公布了wordcloud包,之前我用wordcloud包写了一篇关于文本可视化的博 ...

  8. mysql七:视图、触发器、事务、存储过程、函数

    阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...

  9. 数据库 - mysql内置功能

    mysql内置功能: 1.视图 2.触发器 3.存储过程 4.事务 5.函数 一.视图 介绍: 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名], 用户使用时只需 ...

最新文章

  1. 开机BIOS语言(转载)
  2. linux下生成guid,在Linux下生成GUID的程序,及编译错误 “uuid/uuid.h: No such file or directory” 的解决办法。...
  3. Spring Boot返回前端Long型丢失精度
  4. vue中computed、metfods、watch的区别
  5. 新人入职培训有关职场沟通的总结分享
  6. python任务调度平台 界面_分布式任务调度平台XXL-JOB
  7. c语言错误重定义,C语言的重定义错误求解
  8. 《机器人编程实战》一一1.2 给机器人指令
  9. 拓端tecdat|R语言文本挖掘tf-idf,主题建模,情感分析,n-gram建模研究
  10. 云播 Android,云播放(Air Playit)android版
  11. 中华黑豹计算机病毒,关于“中华黑豹病毒”
  12. 如何编译生成dll文件以及如何调用dll文件
  13. 流风ASP.NET框架企业版试用地址公布
  14. 自然语言处理之词移距离Word Mover's Distance
  15. Infor与云的不解之缘
  16. RS-485总线布线规则及方法
  17. 广州你让我泪流满面1
  18. Cmn递推函数c语言,Cmn排列组合 高三数学知识点总结归纳5篇精选
  19. 李峋同款爱心代码-电视剧《点燃我温暖你》
  20. typora 公式对齐_三年级数学下册概念及公式,一篇就搞定,给孩子寒假看!

热门文章

  1. Kernel Video Converter中文版
  2. Linq to SQL -- Select、Distinct和Count、Sum、Min、Max、Avg
  3. Day04:函数参数、对象、嵌套、闭包函数和装饰器
  4. My97DatePicker日历插件
  5. shell 读取文件
  6. 纯代码实现wordpress文章隐藏内容评论可见
  7. Eclipse快捷键 10个最有用的快捷键 提高开发效率
  8. 推荐五星级C语言学习网站
  9. javascript学习1---用dom对象动态控制表格
  10. HTTP1.0,HTTP1.1,HTTPS和HTTP2.0的区别