- 浏览: 93788 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
softcc:
Lz,你好。我想知道“for循环的条件根据当前页来计算当前页所 ...
基于Oracle数据库的数据分页原理 -
hezhou_0521:
这也太简单了吧,如果我想把多选的值传到下一个ACTIVITY中 ...
Android单选和多选择按钮:
sort对于不同的对象, 需要自己重写过.
class A implements Comparable{ public int compareTo( Object o ){ A a = (A)o; 具体的比较方法. > 返回值大于0 . <返回值小于0, 相等时候返回0} }
实际调用过程中:
List l = new LinkedList(); l.add( [object[1] of A] ); .... l.add( [object[2] of A] ); Collections.sort(l); System.out.println(l);
以下的详细部分可以参考. 采集自API文档..
public interface Comparable<T>
此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序,类的 compareTo 方法被称为它的自然比较方法。
实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。
对于类 C 的每一个 e1 和 e2 来说,当且仅当 (e1.compareTo((Object)e2) == 0) 与 e1.equals((Object)e2) 具有相同的布尔值时,类 C 的自然排序才叫做与 equals 一致。注意,null 不是任何类的实例,即使 e.equals(null) 返回 false,e.compareTo(null) 也会抛出 NullPointerException。
强烈推荐(虽然不是必需的)使自然排序与 equals 一致。这是因为在使用其自然排序与 equals 不一致的元素(或键)时,没有显式比较器的有序集合(和有序映射表)行为表现“怪异”。尤其是,这样的有序集合(或有序映射表)违背了根据 equals 方法定义的集合(或映射表)的常规协定。
例如,如果将两个键 a 和 b 添加到一个没有使用显式比较器的有序集合中,使得 (!a.equals((Object)b) && a.compareTo((Object)b) == 0),则第二个 add 操作返回 false(有序集合的大小没有增加),因为从有序集合的角度来看,a 和 b 是等效的。
实际上,所有执行比较的 Java 核心类都具有 equals 一致的自然排序。java.math.BigDecimal 是个例外,它的自然排序把值相等但精确度不同的 BigDecimal 对象(比如 4.0 和 4.00)等同起来。
为了向数学上倾斜,在给定 C 类的基础上定义自然排序的关系 如下:
{(x, y) such that x.compareTo((Object)y) <= 0}。
整体排序的 quotient 是:
{(x, y) such that x.compareTo((Object)y) == 0}。
它直接遵循 compareTo 的协定,商是 C 的等价关系,自然排序是 C的整体排序。当我们说类的自然排序与 equals 一致 时,是指自然排序的商是由类的 equals(Object) 方法定义的等价关系。
{(x, y) such that x.equals((Object)y)}。
compareTo
int compareTo(T o)
在前面的描述中,符号 sgn(expression) 表示数学上的 signum 函数,该函数根据 expression 的值是负数、零还是正数,分别返回 -1、0 或 1。 实现类必须确保对于所有的 x 和 y,都存在 sgn(x.compareTo(y)) == -sgn(y.compareTo(x))。(这意味着如果 y.compareTo(x) 抛出一个异常,则 x.compareTo(y) 也要抛出一个异常。)
实现类还必须确保关系是可传递的:(x.compareTo(y)>0 && y.compareTo(z)>0) 意味着 x.compareTo(z)>0。
最后,实现程序必须确保 x.compareTo(y)==0 意味着对于所有的 z,都存在 sgn(x.compareTo(z)) == sgn(y.compareTo(z))。
强烈推荐 (x.compareTo(y)==0) == (x.equals(y)) 这种做法,但不是 严格要求这样做。一般来说,任何实现 Comparable 接口和违背此条件的类都应该清楚地指出这一事实。推荐如此阐述:“注意:此类具有与 equals 不一致的自然排序。”
o
- 要比较的对象。 ClassCastException
- 如果指定对象的类型不允许它与此对象进行比较。////////////////////////////////////////////////////////////////////////
import java.util.*; public class test{ public static void main( String args[] ) { List l1 = new LinkedList(); l1.add( new Name("Karl", "M") ); l1.add( new Name("Steven", "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, 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 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) ); } }
发表评论
-
struts2工作原理
2010-12-31 11:04 663一个请求在Struts2框架中的处理大概分为以下几个步骤: ... -
<logic:empty> <logic:present>之间的区别
2010-12-31 10:58 1093logic:empty标签判断脚本变量是否为null,是否是一 ... -
J2EE中几种业务代理模式的实现和比较
2010-12-30 22:15 822http://www.jdon.com/artichect/b ... -
jeecms加载首页的过程
2010-12-30 22:05 1219jeecms加载首页的过程 收藏 < ... -
jeecms学习
2010-12-30 19:39 841http://xiongzaiqiren.blog.163.c ... -
把jsp网站部署到tomcat的root目录上
2010-12-24 04:09 2651先进入tomcat首页,http://localhost:80 ... -
Comparable接口使用1
2010-12-23 18:34 1094一个实现了Comparable接口的类在一个Collectio ... -
Comparable接口的使用
2010-12-23 18:28 1092利用 Comparable 接口创建自己的类的排序顺序,只是实 ... -
Conllection框架中的Comparator使用笔记
2010-12-23 18:20 891- - 这几天一直在弄自己的RSS解析器。一切顺利,R ... -
pager-taglibs分页标签使用说明1
2010-12-22 14:35 882一简介, Pager-taglib,支持多种风格的分页显 ... -
JForum论坛
2010-11-12 14:26 1812jforum-2.1.8 详细配置 关键字: jforum 本 ... -
接口和抽象类的区别
2010-11-02 00:16 652abstract class和interface是Java语言 ... -
Eclipse快捷键大全(转载)
2010-10-10 15:56 611Ctrl+1 快速修复(最经典 ... -
java类反射 (转载)
2010-10-04 10:02 685Java提供了一套机制来动态执行方法和构造方法,以及数组操作等 ... -
JBoss Tools Eclipse 3.6发布的插件
2010-10-03 17:36 1821JBoss Tools针对新版的Eclipse 3.6发布了新 ... -
JAVA利用httpclient登录开心网
2010-09-19 12:55 1055httpclient简单应用,登录开心网的例子 需要用到的ja ... -
JBPM学习笔记一(环境搭建)
2010-06-27 23:55 10191.什么是JBPM JBPM是一个可扩展、灵活的流程引 ...
相关推荐
这些图标可以直接通过CSS类来使用,方便快捷。 在文档方面,Bootstrap Collections应该提供了详细的使用指南和API参考,帮助开发者了解每个组件的用法和参数设置,从而更好地利用这些资源。 总的来说,Bootstrap ...
java.util.concurrent总体概览图。 收取资源分3分。需要的同学可以下载一下。 java.util.concurrent主要包括5个部分executor,colletions,locks,atomic...该图详细的列举了并发包下面的结构,包含所有接口和具体实现类。
common-beanutils、commons-colletions、commons-httpclient、commons-lang、commons-logging、ezmorph、json-lib、xom
【书目合集】是一个包含了丰富管理类书籍的资源包,涵盖了各种可以帮助个人提升自我、增强领导力和财务智慧的读物。以下是对压缩包中各个文件内容的详细概述: 1. **Padre Rico, Padre Pobre**(富爸爸,穷爸爸):...
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代
内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
新建 文本文档.docx
hw06
3. Kafka入门-安装与基本命令
燃气管道施工资质和特种设备安装改造维修委托函.docx
AI大模型研究相关报告
lab02
仅供学习使用,其他用途请购买正版资源AVPro Video Core Windows Edition 2.2.3 亲测可用的视频播放插件,能丝滑播放透明视频等.
建设工程消防验收现场指导意见表.docx
MVIMG_20241222_194113.jpg