java中按升序排序_java – 如何按升序顺序对ArrayList进行排序

我需要根据名称按升序排序ArrayList< Object>(自定义对象).为此我正在使用比较法

我的ArrayList:

的ArrayList&LT型号GT&; modelList = new ArrayList< Model>();

我正在使用的代码:

Comparator comparator = new Comparator() {

@Override

public int compare(CarsModel lhs, CarsModel rhs) {

String left = lhs.getName();

String right = rhs.getName();

return left.compareTo(right);

}

};

ArrayList sortedModel = Collections.sort(modelList,comparator);

//While I try to fetch the sorted ArrayList, I am getting error message

我完全陷入困境,并且真的不知道如何继续进行以获得ArrayList< Object>的排序列表.请帮我解决一下这个.任何帮助和解决方案对我都有帮助.我发布了我的确切场景供您参考.提前致谢.

例:

ArrayList modelList = new ArrayList();

modelList.add(new Model("chandru"));

modelList.add(new Model("mani"));

modelList.add(new Model("vivek"));

modelList.add(new Model("david"));

正常清单:

for(Model mod : modelList){

Log.i("names", mod.getName());

}

输出:

chandru

mani

vivek

david

排序后我的要求如下:

for(Model mod : modelList){

Log.i("names", mod.getName());

}

输出:

chandru

david

mani

vivek

解决方法:

你的方法是对的.在下面的示例中使您的Comparator内部(或者您可以创建一个新类):

ArrayList modelList = new ArrayList<>();

modelList.add(new Model("chandru"));

modelList.add(new Model("mani"));

modelList.add(new Model("vivek"));

modelList.add(new Model("david"));

Collections.sort(modelList, new Comparator() {

@Override

public int compare(Model lhs, Model rhs) {

return lhs.getName().compareTo(rhs.getName());

}

});

输出:

chandru

david

mani

vivek

标签:android,java,sorting,collections,arraylist

来源: https://codeday.me/bug/20191004/1854452.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值