阅读 56

数组排序java,对list排序

开发工具和关键技术: MyEclipse 10,Java语法

作者: yyddd

写作时间: 2019年6月5日

集合和数组之间的差异:

数组:只能存储固定大小的相同类型的元素。 数组元素可以是基本数据类型的值或对象。

集合:可用于存储各种数量的对象,实现一般的数据结构。 也可以保存具有映射关系的关联数组。 集合只能保存对象。

Collection和map属于同一系统集合,list和set接口继承Collection接口。 List接口可以有规则地存储重复数据。

一. List中的Comparable排序:

Comparable是排序接口。 如果类实现了Comparable接口,则意味着该类支持排序。 实现Comparable接口的类的对象列表或数组可以按Collections.sort或Arrays.sort自动排序。

示例:

说明: Comparable相当于“内部比较器”。 首先,创建对象实现它的接口,然后按自己定义的类进行排序。 根据Comparable在接口中排序方法根据compareTo改变排序方法。 按照从小到大的顺序指定排序方法。 this .成员变量-按从大到小的顺序指定o .成员变量。

这里按照年龄从小到大的顺序排序,如果年龄相同的话按照名字排序。 输出结果如下。

二. List中的Comparator排序:

Comparator是比较接口。 可以实现Comparator来创建新的比较器,然后使用该比较器对类进行排序。 示例:

描述: Comparator相当于外部比较器,首先创建对象,添加数据,然后通过Collections工具类中的sort排序方法传递给Comparator进行排序并定制排序。 排序方法为从小到大o1 .成员变量-o2 .成员变量,从大到小o2 .成员变量-o1

这里按照年龄从小到大的顺序排序,如果年龄相同的话按照名字排序。 输出结果如下。

实际上,这两种排序方法的输出效果相同,不同的是Comparable排序需要修改原始类并在该类中实现接口。 Comparator排序在外部写就可以了,不需要移动原类。


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐