现在写的需求是这样
要返回优惠券 但是要按照特定的券顺序来 对应券的一个属性 是字符串。
也就是说 如何把字符串list 按照特定 的字符串内容 的顺序来排序。
网上这个东西有点不好找,不过也搞出来了,记录一下。
希望可以帮到和我有同样需求的人。
代码:
代码优化空间其实很大,不过我就不优化了哈懂得都懂。看懂核心就行。
核心就是利用一个已有顺序的字符串list,用它的indexof返回元素的坐标值。比较坐标值即可拿到自定义顺序。
public static void main(String[] args) {
String[] regulation = {"再不用过期了啊!", "已经用了用了", "不听劝过期了把?哼哼"};
List<String> regulationList = Arrays.asList(regulation);
String[] test = {"已经用了用了", "不听劝过期了把?哼哼", "再不用过期了啊!", "凑数的"};
List<String> stringList = Arrays.asList(test);
Collections.sort(stringList, new Comparator<String>() {
public int compare(String o1, String o2) {
int index1 = regulationList.indexOf(o1);
int index2 = regulationList.indexOf(o2);
return (index1 == -1 || index2 == -1) ? (index2 - index1) : (index1 - index2);
}
});
stringList.forEach(System.out::println);
}
运行结果:
最近事情有点多,写博客这边必须规划下,挤也要把思想记录下来。
最近是自从搞完双11需求之后 写内部应用号发消息的接口(申请+开发自己来的)
现在在写116需求,mentor这次让我自己写一整个(当然东西不多哈)
,感谢对俺的看好~ (这里开心表情包.jpg)