用Java对用户定义对象的LinkedList进行排序

本文介绍了如何在Java中使用sort方法对实现了Comparable接口的用户定义对象LinkedList进行排序。通过House类作为示例,展示了如何按照升序和降序对房屋类型和大小进行排序。
摘要由CSDN通过智能技术生成

要使用Java对列表进行排序,可以使用sort(List list) 方法。此方法可以对所有元素必须实现Comparable接口的列表进行排序。
在下面的示例中,House类是用户定义的。为了使其具有可比性,它实现了Comparable接口。通过使用该sort(List list) 方法,可以按升序对其进行排序。
如果要颠倒排序顺序,可以简单地使用sort(List list, Comparator<? super T> c) 。参数是Collections.reverseOrder()方法。此方法返回一个Comparator,它对实现Comparable接口的对象集合使用自然顺序的相反顺序。由于House类实现了Comparable接口,因此我们可以使用此方法自动颠倒顺序。
import java.util.Collections;import java.util.LinkedList;import java.util.List;
//sort self-defined object linkedlist in Java
class House implements Comparable {
String type;
int size;

public House(String t, int s) {
	type = t; 
	size = s;
}

@Override
public int compareTo(House o) {
	int comparedSize = o.size;
	if (this.size > comparedSize) {
		return 1;
	} else if (this.size == comparedSize) {
		return 0;
	} else {
		return -1;
	}
}

public String toString() {
	return type;
}}
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值