import java.util.*;
/**
* Comparable 接口 是所有可以"排序"的类都是实现了java.lang.Comparable接口的 Comparable接口只有一个方法compareTo(Object o) jdk1.5使用泛型
* public int compareTo(Object o) {
* this == o 返回0
* this > o 返回正数
* this <0 返回负数
* }
*
* 实现了compareTo() 从而确定该类的对象的排序方式
* @author Administrator
*
*/
public class TestComparable {
public static void main(String []args) {
List list = new ArrayList();
list.add(new ComparableDemo("zhudansheng",120));
list.add(new ComparableDemo("zhuxiaosheng",130));
list.add(new ComparableDemo("John",1230));
list.add(new ComparableDemo("Test",1330));
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
//实现comparable接口的类必须 重写equals和hashCode方法
class ComparableDemo implements Comparable{
private String name;
private int age;
public ComparableDemo(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean equals(Object o) {
ComparableDemo comp = (ComparableDemo) o;
if(comp instanceof ComparableDemo) {
return this.name.equals(comp.name);
}
return super.equals(o);
}
public int hashCode() {
return super.hashCode();
}
//比较对象的值,根据哈希码进行排序比较 使用compareTo() 方法对类的对象进行排序
public int compareTo(Object o) {
// TODO Auto-generated method stub
ComparableDemo comp = (ComparableDemo) o;
if(comp instanceof ComparableDemo) {
return this.name.compareTo(comp.name); //根据哈希表进行排序
// return rInt!=0 ? this.age>comp.age ? 1 : 0 : 0;
}
else {
return super.hashCode();
}
}
public String toString() {
return this.name +" "+this.age;
}
}
分享到:
相关推荐
最大单值操作父接口Collection及其子接口、子类: List接口、ArrayList类、Vector类、栈操作类Stack、链表操作类LinkList、队列操作接口Queue、Set接口、HashSet类、TreeSet类、SortedSet接口 双值操作接口Map(key->...
要注意的是List,Set,Queue继承了Collection接口,...这里想用一个简单的例子展示一下他们的使用,内容包括:List、Map、Set、Queue,Collections、Comparable与Comparator,排序、搜索,内部类,泛型、重写equals、hashCode
实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
java 集合类的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是类,后者是接口,在这里,我主要是想说明它的sort方法的几种类型, 提示:实现接口的方法时,只需要比较两个数,大的返回1,...
哈希值 LinkedHashSet TreeSet 自然排序Comparable 比较器排序Comparator Set集合 并发修改异常 LinkedList集合 ArrayList集合 List集合 Collection集合概述 冒泡排序 Object 异常 Math 包装类 Calendar类 ...
集合框架 Collection、List、Set、Map的接口及其实现类、迭代、Hash 算法与 hashCode 方法、comparable、泛型 chp12.异常 概念、分类、产生、传递、处理、自定义异常 chp13.线程 概念、创建、状态转换、数据共享、...
·实战teratori迭代器和自定义Comparable:排序接口 ·玩转ava操作文件File类常用操作 ·案例实战IO流Input、Output Stream流 ·详细常见Object、Math、String等核心类 ·掌握枚举Enum和时间日期LocalDate使用 ·面试...
Comparable Equatable Hashable MutableCollection RandomAccessCollection Sequence 动机 假设你已经定义了一个MutableCollection称为FourStrings 。 你怎么知道它是正确的? 即使你已经测试过你直接编写的...
什么是迭代器iterator和ListIterator的区别Collection和Collections的区别Comparable和Compartor接口是干什么,列出区别heap 和stack 有什么区别如何确保一个集合不会被修改CollectionListArray与ArrayList有什么...
collection_map_demo java集合框架的demo 通过实现一个学生选课的demo了解java集合框架知识点 List、Set、Map的增删改查 Collections工具类的sort方法以及comparable接口和comparator接口
Comparable接口 141 equals和hashcode方法 143 泛型 144 思考作业 145 上机作业 145 第八章 IO技术 146 为什么需要学习IO技术 146 基本概念 146 数据源 146 流的概念 146 第一个简单的IO流程序及深入(将文件中的...
Powerful collection utilities(强大的集合工具类): java.util.Collections 中未包含的常用操作工具类 4. Extension utilities(扩展工具类): 给 Collection 对象添加一个装饰器? 实现迭代器? 我们可以更容易...
15.2.1 容器(Collection) 15.2.2 迭代器(Iterator) 15.3 链表List 15.3.1 链表List接口方法 15.3.2 链表迭代器接口 15.3.3 链表和数组链表 15.3.4 链表应用 15.3.5 数组链表应用 15.4 集Set 15.4.1 排序集...
3. Collection 接口: 2 4.Iterator 接口: 3 5.List接口: 3 5.1 LinkedList类: 5 5.2 ArrayList类: 5 6.Set接口: 5 7.Map接口: 6 8.Comparable接口和Comparator接口: 7 9. 集合框架面试题 7
何时栈上创建,传递变量时候的按值传 递 Comparable 接口,Comparator类,用来做比较,主要是用于集合中,排序,插入等等 类初始化,变量初始化,静态变量,静态区,常量区等等 继承多态需要知道的有super, this, ...
本节内容包括 集合的概念 集合API Collection 接口 Iterator 接口 Set 接口 List 接口 和 Comparable 接口 Map 接口
031301_【第13章:Java类集】_认识类集、Collection接口笔记.pdf 031302_【第13章:Java类集】_List接口笔记.pdf 031303_【第13章:Java类集】_LinkedList类笔记.pdf 031304_【第13章:Java类集】_Set接口笔记.pdf ...
用户的信息采用属性文件方式存储,利用输入输出流对属性文件的读和写过程,充当增删改查的过程,排行榜采用用户的分数从高到低排列,用户实体类实现Comparable接口即可,在调用处,Collection.sort()方法排序。...
排序算法,基于compare,comparable接口的使用,使用collection下的sort方法对读取的文件中的内容进行排序,并去重,很不错的简单小程序,谢谢下载