gpt4 book ai didi

java - 什么是 Java 中的后备集合?

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

这些方法返回 Backed Collection,因为一个 Collection 中的更改会影响另一个 Collection。[一种写入过程]

headSet(e, b)     Returns a subset ending at element e and exclusive of e

headMap(k, b) Returns a submap ending at key k and exclusive of key k

tailSet(e, b) Returns a subset starting at and inclusive of element e

tailMap(k, b) Returns a submap starting at and inclusive of key k

subSet(s, b, e, b) Returns a subset starting at element s and ending just before element e

subMap(s, b, e, b) Returns a submap starting at key s and ending just before key e

那么Arrays.asList()方法有什么区别呢?该方法将一个数组复制到一个列表中。API 表示“对返回列表的更改‘写入’到数组,反之亦然”。

那么,它是不是也是一个 Backed Collection?如果是,那么 List 接口(interface)中有 toArray() 方法——那也是一个 Backed Collection 吗?

是否有任何其他方法像 Arrays.asList() 允许直写?如何仅通过查看方法签名来确定该方法是否允许写入?

最佳答案

是的,Arrays.asList 返回一个由数组支持的列表,因为它不制作副本,但是 Collection.toArray 制作副本,所以它是不受 Collection 支持。

您无法仅从签名中判断方法是否返回由其输入支持的集合——仅从文档中判断。通常,它使用“支持”、“查看”等词语进行记录。有很多示例——List.subList,例如 Collections.newSetFromMap 等等——还有无数第三方库中的示例。

关于java - 什么是 Java 中的后备集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636528/

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