gpt4 book ai didi

Java 集合。创建排序 View 而不创建副本

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:44:26 27 4
gpt4 key购买 nike

是否有可能在不创建副本的情况下对集合进行动态排序以对内容进行迭代?

更新:要排序的集合是一个只读列表。

最佳答案

使用 Streams API 你可以做到

yourCollection.stream()
.sorted(yourComparator)
.forEach(...);

这不会修改 yourCollection 并允许您按排序顺序迭代集合。但是,sorted 方法很可能会在幕后创建一个副本,因此您很可能会获得与创建副本、对副本排序并迭代排序后的副本相同的内存/cpu 开销复制自己。

(对于 Java 7 及更早版本,我认为 API 中没有“非侵入式”排序方法。如果不想修改原始集合,则必须显式复制。)

关于Java 集合。创建排序 View 而不创建副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449704/

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