【发布时间】:2020-04-17 06:00:22
【问题描述】:
我有一个长 id 的数组列表
Arrays.asList(12, 34, 54, 22, 33);
我有一个 OwnerClass(String description, long id); 的对象
我想通过数组列表中 id 的索引对List<OwnerClass> 进行排序。所以如果 id 为 12,它将是第一个,如果 id 是 33,它将是最后一个。如果找不到 id在数组中然后把它放在最后..
【问题讨论】:
-
Collections.sort(ownerClassList, Comperator.comparingInt(o -> longList.indexOf(o.getId()));您可能需要检查索引的结果并将其替换为Integer.MAX_VALUE。 -
@JohannesKuhn 我们可以关闭这个问题,因为这些问题已经在这里多次回答了。
-
如果你找到重复的,是的。也是我使用评论的原因。不值得花时间解释我如何知道每件作品的作用以及它与问题的关系。
-
@JohannesKuhn 可以缩写为
ownerClassList.sort(Comperator.comparingInt(o -> longList.indexOf(o.getId())); -
当 OP 没有尝试解决这个问题时,为什么会被赞成?
标签: java sorting collections