java中arraylist的排序_如何在Java中对ArrayList进行排序[重复]

问题

这个问题在这里已有答案:

按属性24答案对自定义对象的ArrayList进行排序

我有一个名为Fruit的课程。我正在创建此类的列表并在列表中添加每个水果。我想根据水果名称的顺序对此列表进行排序。

public class Fruit{

private String fruitName;

private String fruitDesc;

private int quantity;

public String getFruitName() {

return fruitName;

}

public void setFruitName(String fruitName) {

this.fruitName = fruitName;

}

public String getFruitDesc() {

return fruitDesc;

}

public void setFruitDesc(String fruitDesc) {

this.fruitDesc = fruitDesc;

}

public int getQuantity() {

return quantity;

}

public void setQuantity(int quantity) {

this.quantity = quantity;

}

}

我正在使用for循环创建它的列表

List fruits= new ArrayList();

Fruit fruit;

for(int i=0;i<100;i++)

{

fruit = new fruit();

fruit.setname(...);

fruits.add(fruit);

}

我需要使用列表中每个对象的水果名称对此arrayList进行排序

怎么样??

#1 热门回答(389 赞)

使用aComparator这样:

List fruits= new ArrayList();

Fruit fruit;

for(int i = 0; i < 100; i++)

{

fruit = new Fruit();

fruit.setname(...);

fruits.add(fruit);

}

// Sorting

Collections.sort(fruits, new Comparator() {

@Override

public int compare(Fruit fruit2, Fruit fruit1)

{

return fruit1.fruitName.compareTo(fruit2.fruitName);

}

});

现在你的水果列表基于fruitName排序。

#2 热门回答(85 赞)

ImplementComparable与Fruit的接口。

public class Fruit implements Comparable {

它实现了该方法

@Override

public int compareTo(Fruit fruit) {

//write code here for compare name

}

然后调用sort方法

Collections.sort(fruitList);

#3 热门回答(12 赞)

BeanComparator fieldComparator = new BeanComparator(

"fruitName");

Collections.sort(fruits, fieldComparator);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值