gpt4 book ai didi

java - 如何获取流的最大索引值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:06:16 26 4
gpt4 key购买 nike

我正在使用包含自动生成的 id 值的实体类,如下所示,

@Entity
@Table(name="BlogUser")
public class User {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private Long id;

@Column
private String username;

我尝试使用 JpaRepository 接口(interface)获取 User 类中 id 的最大值。这是示例代码。

UserJpaRepository.findAll().stream().count();

但是这一行返回的只是简单的计数值,而不是User class id值的最大值。如何获取带有流函数的User实体类中的最大id值?

最佳答案

您可以使用 Stream.max 找到它,例如:

Long maxId = UserJpaRepository.findAll().stream()
.map(User::getId) // mapping to id
.max(Comparator.naturalOrder()) // max based on natural comparison
.orElse(Long.MIN_VALUE); // if nothing element is mapped

或简单地作为

long maxId = UserJpaRepository.findAll().stream()
.mapToLong(User::getId) // map to id
.max() // find max
.orElse(Long.MIN_VALUE);

关于java - 如何获取流的最大索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54614835/

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