Java中如何对集合排序

ArrayList<User>.按照User中的userId排序该怎么排呢?虚心请教各位高手.方式越多越好.... ArrayList<User>. 按照User中的userId排序该怎么排呢?
虚心请教各位高手.方式越多越好.
展开
 我来答
小傻

推荐于2017-10-08 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java中对集合排序,可以使用Collections.sort来进行排序,可以对中文、字母、数字进行排序,当比较的是对象时候,让该类实现comparable接口,示例如下:

Collections.sort(dataMap, new Comparator<Map<String, Object>>() {
                       //排序接口实现方法
@Override
public int compare(Map<String, Object> lhs, Map<String, Object> rhs) {
switch (whichsort) {
case System_OpenPosition_Sort_Currency:

String d2 = ((String) rhs.get(Instrument));
String d1 = (String) lhs.get(Instrument);
if (d2 != null && d1 != null) {

int flag = d1.compareTo(d2);
if (flag == 0) {
Double d3 = ((Double) rhs.get(OpenPrice));
Double d4 = (Double) lhs.get(OpenPrice);
if (d3 != null && d4 != null) {

int flag2 = d4.compareTo(d3);
if (flag2 == 0) {
String d5 = ((String) rhs.get(BuySell));
String d6 = (String) lhs.get(BuySell);//文字排序
if (d5 != null && d6 != null) {

return d6.compareTo(d5);//返回一个int类型,用来判断是否大于、小于还是等于
}
}

return d4.compareTo(d3);
}
} else {
return flag;
}
// return d1.compareTo(d2);
}
百度网友88fbadba8
推荐于2017-09-14 · TA获得超过130个赞
知道答主
回答量:136
采纳率:0%
帮助的人:126万
展开全部
Java内建的排序(冒泡):Java集合有两个实现的工具类,Collections和Arrays。Collections针对集合类型。Arrays针对数组。只需要一个为你排序需要的定制的Comparator或Comparable的实现,将其作为参数传给Collections或Arrays的sort方法就行。

可以自己用程序去实现这个排序。用for从原List里面一个一个拿出来比较然后一个新建的List里面去。
楼主看一下参考资料。

参考资料: http://www.javaeye.com/topic/503812

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式