gpt4 book ai didi

java - 如何按对象内树形图中的第一个键对对象列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:33 24 4
gpt4 key购买 nike

在我的 Java 代码中,我有一个 TranscriptionLog 类,如下所示:

class TranscriptionLog {

private List<Sentence> sentenceList = new ArrayList<>();
private boolean isMerged;

句子类如下所示:

class Sentence {

private TreeMap<Long, WordObj> wordMap = new TreeMap<>();
private String sentence;

我想按照 wordMap 中第一个条目的键(长)对句子列表进行排序。我认为在 TranscriprionLog.java 中这样做应该可行:

void sortSentenceList() {
sentenceList.sort(Comparator.comparing(object -> object.getWordMap().firstEntry().getKey()));
}

- 但事实并非如此。它改变了句子的顺序,但没有正确排序。对此有什么想法吗?

提前谢谢您!

编辑:事实证明这是程序早期的一个错误。解决该错误后,我的排序工作正常。

最佳答案

不确定您是否熟悉 Java 8 Streams,但类似的东西应该可以工作

//List initialized with results collected from the streaming operation
List<Sentence> result = sentenceList
.stream()
.sorted(
(s1, s2) ->
s1.getWordMap().firstEntry().getKey()
.compareTo(s2.getWordMap().firstEntry().getKey())
)
.collect(Collectors.toList());

关于java - 如何按对象内树形图中的第一个键对对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54804370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com