首页 > 编程知识 正文

java第三方接口对接,serial接口作用

时间:2023-05-04 10:25:23 阅读:153724 作者:4753

java.lang.Comparable

接口

作者:

zccst

java.lang.Comparable

接口定义的

compareTo () )

方法提供了对实现类的对象进行整体排序所需的比较逻辑。

基于类的实现

compareTo () )

方法的排序称为自然排序。 而且,那是

compareTo () )

方法的排序称为其自然排序。 具体的排序原则可以由实现类根据需要确定。 用户正在改写

compareTo () )

通过定制方法比较逻辑时,需要确保剩下的等价性判断方法

equals () )

保持一致

E1.equals () object (E2 ) )。

E1.comPareto () object ) e2 )==0

它们有同样的值。 这样,我们就把自然的顺序称为和

equals

一致。

这个接口有什么用?

如果实现了数组中的对象

比较可用

接口,这个数组的排序非常简单:

Arrays.sort (;

如果

列表

一旦实现了这个接口

可以调用

Collections.sort

或者

Arrays

方法对他们进行排名。 实际上

Java

平台库中的所有值类

(value classes )

实现了

比较可用

接口。

可互换性

接口只有一种方法

公司到(objectobj ) )。

其中

this obj

回到负值

this=obj

返回

0

this obj

恢复正常

也就是说,按顺序将当前对象与给定对象进行比较,如果对象小于、等于或大于给定对象,则分别使用负整数、

0

或正整数。 如果无法比较,则抛出

ClassCastException

异常。

实际上,集合排序有两种方法

1.

实现了集合中对象的所属类

java.lang.Comparable

接口

2.

指定集合的比较器

java.lang.Comparator

的实现类

计算机

可互换性

接口的区别如下

可互换性

是一个通用界面,用户可以通过它进行自己的比较

计算机

可以看作是一种算法的实现,需要容器的集合

集合

如果需要比较功能,请指定此比较器。 这可以看到将算法和数据分离的设计模式。 就这样

C STL

选项卡页面上创建或编辑条目。

前者是相对固定的,应该与特定的类联系在一起,但后者相对灵活,可以用于需要比较功能的各级。 可以说前者是“静态绑定”,而后者是“动态绑定”。

一个班实现了

Camparable

接口表示此类中的对象之间是可比较的。 用数学语言记述的话,由这个类别的客体构成的集合中就会存在全部顺序。 这样,就可以使用由这样的对象组成的集合了

短消息

方法已重新排序。

而且,那是

计算机

的作用有两个:

1.

如果班级的设计师没有考虑的话

比较器

有问题没有实现

可互换性

接口,可以通过

计算机

实现比较算法并进行排序

2.

准备使用各种排序标准,如升序、降序和其他顺序

例如:

Person.java

在、

TestComparable.java

(1) Person.java

公共类人员输入

java.lang.Comparable{

私有

final int id;

私有

字符串名称;

私有

int age;

公共的

Person(intid,String name,int age ) {

this.id

=id;

this.name

=name;

this.age

=age;

}

公共的

int getId () }

返回

id;

}

公共的

void set name (字符串名称)。

this.name

=name;

}

公共的

字符串获取名称

返回

名称;

}

公共的

语音设置(intage ) {

this.age

=age;

}

公共的

输入获取页面() }

返回

age;

}

公共的

String toString () }

返回

' id : ' id '/tname 3360 ' name '/tage : '

age;

}

@Override

公共的

输入公司到(objecto ) {

//

实现

可互换性

定义排序规则的接口抽象方法

佩尔森

p=(人员) o;

返回

this.id - p.id;

//

升序,相反降序

}

@Override

公共的

布尔变量(objecto ) {

//equals

布尔型

flag=false;

if(o

instanceof Person ) {

if(this.id )

==((person ) o ).id ) ) ) ) ) ) ) )。

标志

=真;

}

返回

假;

}

}

)2) TestComparable.java

import java.util.TreeSet;

import java.util.Iterator;

公共类测试兼容性{

公共的

staticvoidmain(string[]args ) {

TreeSet

ts=new TreeSet (;

ts.add(new

人员(1003,'

粗犷的自行车/p ',15 )

ts.add(new

人员(1008,'

李四

',25 );

ts.add(new

人员(1015,'

王五

',73 );

ts.add(new

人员(1001,'

舒适的橱柜

',49 );

迭代器

it=ts.iterator (;

while(it.Hasnext ) ) ) )。

佩尔森

employee=(Person ) it.next );

system.out.println(employee );

}

}

}

执行结果:

Id: 1001

Name:

舒适的橱柜

Age: 49

Id: 1003

Name:

粗犷的自行车/p Age: 15

Id: 1008

Name:

李四

Age: 25

Id: 1015

Name:

王五

Age: 73

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。