Or *_*ith 6 java arraylist comparator
我有一个ArrayList在Java:
{"deleteItem", "createitem", "exportitem", "deleteItems", "createItems"}
Run Code Online (Sandbox Code Playgroud)
我想将包含的所有字符串移动delete到列表的末尾,所以我会得到下一个:
{"createitem", "exportitem", "createItems", "deleteItem", "deleteItems"}`
Run Code Online (Sandbox Code Playgroud)
我可以创建两个子列表 - 一个用于包含'delete'字样的单词,另一个用于其他单词,然后将它们合并,但我会搜索更有效的方法.
Kri*_*mäe 12
使用自定义比较器:
List<String> strings = Arrays.asList(
"deleteItem", "createitem", "exportitem", "deleteItems", "createItems"
);
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(final String o1, final String o2) {
if (o1.contains("delete") && !o2.contains("delete")) {
return 1;
}else if (!o1.contains("delete") && o2.contains("delete")) {
return -1;
}
return 0;
}
};
Collections.sort(strings, comparator);
System.out.println(strings);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3781 次 |
| 最近记录: |