Collections.sort()自定义排序针对字符串集合 和 list对象排序

字符串集合的自定义排序:

package ceshi;



import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;


public class ceshi {
public static void main(String[] args){
String[] monthDays = "1,2,4,5,7,8,56,11,30,21,23,26,27,4,98".split(",");
List<String> yearListlist = Arrays.asList(monthDays);
Collections.sort(yearListlist,new SComparator());
for(String kk :yearListlist){
System.out.println(kk);
}

}


    
    static class SComparator implements Comparator {  
        public int compare(Object object1, Object object2) {// 实现接口中的方法  
            Integer p1 = Integer.parseInt(String.valueOf(object1)); // 强制转换  
            Integer p2 = Integer.parseInt(String.valueOf(object2));
            if(p1 > p2){
            return 1;
            }else if(p1 == p2){
            return 0;
            }else{
            return -1;
            }
            //return new Double(p1.price).compareTo(new Double(p2.price));  
            //return p1.compareTo(p2);
        }  
    }

}

list对象排序自定义排序,对象实现Comparable接口 ,重写compareTo()方法来实现:

package test;

public class Pojo implements Comparable{
private Integer bijiao;
private String nameString;
private String status;
public Integer getBijiao() {
return bijiao;
}
public void setBijiao(Integer bijiao) {
this.bijiao = bijiao;
}
public String getNameString() {
return nameString;
}
public void setNameString(String nameString) {
this.nameString = nameString;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}

@Override
public int compareTo(Object gg){
Pojo kk = (Pojo)gg;
if(this.bijiao>kk.bijiao){
return 1;
}else {
return -1;
}
}
}


package test;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;


public class bi {
public static void main(String[] args){
List<Pojo> ceshi = new ArrayList<Pojo>();
Pojo k1 = new Pojo();
k1.setBijiao(1);
k1.setNameString("k1");

Pojo k2 = new Pojo();
k2.setBijiao(2);
k2.setNameString("k2");

Pojo k3 = new Pojo();
k3.setBijiao(3);
k3.setNameString("k3");

ceshi.add(k3);
ceshi.add(k2);
ceshi.add(k1);
Collections.sort(ceshi);

for(Pojo zz:ceshi){
System.out.println(zz.getNameString());
}
}

}

compareto就是比较两个数据的大小关系 大于0表示前一个数据比后一个数据大, 0表示相等,小于0表示第一个数据小于第二个数据.

升序 Collections.sort(list) 降序 Collections.reserve(list) 随机 Collections.shuffle(list)



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【Robotframework】列表List的常⽤操作 1. Create List # 新建⼀个list变量 @{list} create list aa bb # 为list追加数据 同Append To List @{list} create list @{list} cc 打印list时,使⽤log many:log many @{list} 若⽤log打印,则写成:log ${list} 打印string时,使⽤log: log ${string} 以下关于list的操作类关键字,是在collections库中的,使⽤前,需要引⼊该库 2 Append To List-为list追加数据 ⽐如create list中的⽰例,也可以使⽤: # 新建⼀个list变量 @{list} create list aa bb # 为list追加数据 同Append To List Append To List @{list} cc 3 Get Slice From List-切⽚ 可以获取list的某⼀段⼦list,从两端截取或从中间截取 ⽰例: #list的下标从0开始 @{list} Create List lilei hanmeimei liming liliang liming # 获取从index=1及之后的数据 ${fromlist} Get Slice From List ${list} 1 # 获取从index=1~2的数据,不包括第3个 ${fromtolist} Get Slice From List ${list} 1 3 4 Remove Duplicates-去重 ⽰例: @{list} Create List lilei hanmeimei liming liliang liming # list去重并检查不包含重复数据 ${listnew} Remove Duplicates ${list} List Should Not Contain Duplicates ${listnew} 在log中会打印出来去掉了⼏个重复数据: 20201015 18:46:47.647 : INFO : 1 duplicate removed. 5 List Should Contain Sub List-包含⼦list ⽰例: @{list} Create List lilei hanmeimei liming liliang liming @{sublist} Create List lilei hanmeimei # 是否包含⼦list List Should Contain Sub List ${list} ${sublist} 6 List Should Not Contain Duplicates-判断不存在重复 ⽰例,去重后,list就不存在重复数据了,最后⼀⾏可执⾏通过: @{list} Create List lilei hanmeimei liming liliang liming ${listnew} Remove Duplicates ${list} List Should Not Contain Duplicates ${listnew} 7 Lists Should Be Equal-判断list相等 注意:@{list}是robot提供的语法,python并没有@{},只有${},所以要⽐较两个@{list},需要把@{list},直接写成英⽂dollar ${list}进 ⾏对⽐ ⽰例: @{list} Create List lilei hanmeimei liming liliang liming Remove From List ${list} 0 @{list1} Create List hanmeimei liming liliang liming Lists Should Be Equal ${list} ${list1} Remove Values From List ${list} liming @{list2} Create List hanmeimei liliang Lists Should Be Equal ${list} ${list2} 如果list转换成了string,也可以使⽤should be equal来做相等判断 8 Remove (Values) From List-删除list中某个值 Remove From List:按照index删除,⼀次删除1个 Remove Values From List:按照value值删除,⼀次可删除多个 ⽰例如2.6 9 Sort List–升序排序list做升序排序,⽰例: @{list} Create L

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值