要使用Java对列表进行排序,可以使用sort(List list) 方法。此方法可以对所有元素必须实现Comparable接口的列表进行排序。

在下面的示例中,House类是用户定义的。为了使其具有可比性,它实现了Comparable接口。通过使用该sort(List list) 方法,可以按升序对其进行排序。

如果要颠倒排序顺序,可以简单地使用sort(List list, Comparator super T> c) 。参数是Collections.reverseOrder()方法。此方法返回一个Comparator,它对实现Comparable接口的对象集合使用自然顺序的相反顺序。由于House类实现了Comparable接口,因此我们可以使用此方法自动颠倒顺序。

importjava.util.Collections;import java.util.LinkedList;import java.util.List;

//sort self-defined object linkedlist in Java

classHouse implements Comparable {

String type;

intsize;

publicHouse(String t, int s) {

type = t;

size = s;

}

@Override

publicintcompareTo(House o) {

intcomparedSize = o.size;

if(this.size > comparedSize) {

return1;

} elseif(this.size == comparedSize) {

return0;

} else{

return-1;

}

}

publicString toString() {

returntype;

}}

publicclassSortLinkedList {

publicstaticvoidmain(String[] args) {

LinkedList houseList = newLinkedList();

houseList.add(newHouse("medium", 200));

houseList.add(newHouse("small", 100));

houseList.add(newHouse("large", 300));

System.out.println(houseList);

// sort in ascending order

Collections.sort(houseList);

System.out.println(houseList);

// sort in descending order

Collections.sort(houseList, Collections.reverseOrder());

System.out.println(houseList);

}

publicstaticvoidprintList(List l) {

for(Object o : l) {

System.out.println(o);

}

}}

输出:

[medium, small, large]

[small, medium, large]

[large, medium, small]

最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。

java linkedlist排序_用Java对用户定义对象的LinkedList进行排序相关推荐

  1. Java用户定义对象的LinkedList

    Java用户定义对象的LinkedList 要在Java中对列表进行排序,可以使用sort(List<T> list) 方法.此方法可以对列表进行排序,其中所有元素都必须实现Compara ...

  2. java字符串数组排序_在Java中对字符串数组进行排序

    允许用户使用字符串数组.他们可以向数组添加字符串,从数组中删除字符串,搜索数组中的字符串,最终他们将能够对数组进行排序.分类是搞砸我的原因.我尝试过几种不同的方法.第一种方法是将数组转换为ArrayL ...

  3. java数组给名字排序_用Java给数组排序

    public class BubbleDemo { public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bu ...

  4. java arraylist 无序_关于Java:按字母顺序排序arraylist(不区分大小写)

    我有一个包含人名的字符串arraylist names. 我想按字母顺序对arraylist进行排序. ArrayList names = new ArrayList(); names.add(&qu ...

  5. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  6. java 分割一个_分割java

    [java]分割字符串工具类,霸气 jdk自带的 java 分割字符串,分割string,可以根据多个条件去分割.比如逗号,分号,逗号或者分号. 比如一个字符串:"abc,def;gh,ij ...

  7. java 图片效果_使用Java进行图片底片化效果处理

    使用java代码读取图片,并进行底片化处理 util importjava.awt.image.BufferedImage;importjava.io.File;importjava.util.Arr ...

  8. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  9. java 重用性_提高Java代码重用性的三个方法

    三种修改现有代码提高其可重用性的方法,它们分别是:改写类的实例方法,把参数类型改成接口,选择最简单的参数接口类型. 措施一:改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是 ...

最新文章

  1. mac如何修改php.ini,mac 如何修改php.ini
  2. Boost asio学习笔记之二—— 网络编程
  3. 最全的CSS浏览器兼容问题(转至http://68design.net/Web-Guide/HTMLCSS/37154-1.html)
  4. Android 数据存储和文件使用案例分析
  5. 《Effective Python 2nd》 读书笔记——列表与字典
  6. 小榕flash管理器xp 是什么
  7. 定时器 Corn时间表达式
  8. 小黑算法成长日记11:基于Johnson算法de最优流水作业调度
  9. 数据通路——专用数据通路
  10. 启动windows的mysql_MySQL的启动方法(windows 平台)
  11. 启用特殊池解读 0x000000c5 蓝屏
  12. 老板杜绝员工上班不务正业
  13. Excel中多行一致分类序列号
  14. “打工人”梗刷爆网络,今天你打工了吗?
  15. MapKit框架的使用
  16. 如何加减单元格指定数字_如何把单元格的数值每位数字进行相加?又学会一个Excel技巧...
  17. HTML5+CSS3的学习(一)
  18. MacBook如何进行分屏
  19. Flutter开发日志——初生牛犊
  20. 闲鱼自动抓取/筛选/发送系统 V13发布

热门文章

  1. C++实现各种排序算法
  2. mysql io模型_5种网络IO模型
  3. 用Visio制作周行事历
  4. Ethereal使用入门
  5. python3-泊松分布
  6. Redefine:Change in the Changing World
  7. 如何手工删除AD RMS SCP?
  8. 刚刚写了一个评星的脚本插件,分享给大家
  9. 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。...
  10. 毕业设计:Springboot实现疫情宿舍学生管理系统