java – 将LinkedHashSet转换为List
发布时间:2020-12-15 05:06:08 所属栏目:Java 来源:网络整理
导读:假设列表b是LinkedList. 假设List a也是LinkedList. 题: 我如何在恒定时间附加这些列表? 这是可能的,因为LinkedList可能是一个双向链表(否则它无法实现Deque接口).并且追加双向链表是0(1)操作. addAll方法不会在常量时间运行. 题: 如何在常量时间内将Link
>假设列表b是LinkedList.
>假设List a也是LinkedList. 题: >我如何在恒定时间附加这些列表? 这是可能的,因为LinkedList可能是一个双向链表(否则它无法实现Deque接口).并且追加双向链表是0(1)操作. addAll方法不会在常量时间运行. 题: >如何在常量时间内将LinkedHashSet转换为列表? 它也可能是因为LinkedHashSet“维护一个贯穿其所有条目的双向链表”. 解决方法
您的假设基于无封装 – 即,当我怀疑它不是时,LinkedHashSet愿意将其内部LinkedList暴露给外部世界.
同样加入两个链接列表 – 我不知道每个节点是否知道它所在的列表,但这肯定会破坏你的固定时间附加.即使他们不这样做,只要你将一个列表的头部连接到另一个列表的尾部,你就会遇到问题 – 你有两个列表都指向相同的数据,这会产生一些奇怪的后果. 换句话说,这两种操作在计算机科学意义上都是可行的,您可以构建自己的实现来支持它们,但这并不意味着Java API以支持这些操作的方式公开其内部. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |