如何在Java8中从流中收集自定义类对象?
我有一张地图抽认卡。Flashcard类包含两个字段:字符串术语和字符串定义。当我必须从flashcard中查找特定的flashcard时,我如何通过Java8流进行查找?如何收集Flashcard对象或仅包含术语的定义字段 例如:如何在Java8中从流中收集自定义类对象?,java,java-8,java-stream,Java,Java 8,Java Stream,我有一张地图抽认卡。Flashcard类包含两个字段:字符串术语和字符串定义。当我必须从flashcard中查找特定的flashcard时,我如何通过Java8流进行查找?如何收集Flashcard对象或仅包含术语的定义字段 例如: private static String getWrongAnswerMessage(Map<Flashcard, FlashcardStats> flashcards, String term, String answer) { Flashcard
private static String getWrongAnswerMessage(Map<Flashcard, FlashcardStats> flashcards, String term, String answer) {
Flashcard flashcard = flashcards.keySet().stream().filter(o -> o.getTerm().equals(term)).collect() //what now
私有静态字符串GetErrorAnswerMessage(映射抽认卡、字符串术语、字符串答案){
Flashcard Flashcard=flashcards.keySet().stream().filter(o->o.getTerm().equals(term)).collect()//现在怎么办
假设一个加工结果
Optional term=flashcards.keySet()
.stream()
.filter(o->o.getTerm().equals(术语))
.map(Flashcard::getTerm)
.findFirst();
是否可能有多张同名的闪卡?也许你只需要findFirst
或findAny
就可以了,而且根本没有收集器。不可能有两张闪卡具有相同的术语或定义。我会试试这个。谢谢@michalk,它可以:)谢谢你,在你的解决方案中,它应该是Op但是它是有效的:)@fisherman先生谢谢你指出错误,我已经更新了答案