首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Java集合不放在一个专用的包中

为什么Java集合不放在一个专用的包中
EN

Software Engineering用户
提问于 2015-09-01 21:42:15
回答 1查看 466关注 0票数 6

为什么他们只居住在java.util,而不是像java.collections或java.util.collections这样更专业的地方呢?

它可能会导致不同的无关代码的混乱。不是吗?它是出于与JCF外部在包级别上的沟通而做出的决定,还是一个历史性的遗留问题?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-09-09 01:20:29

假设的话,我们可以为所有属于java.util.collections的新集合创建集合框架,但问题是,在它们之前存在一些集合类。

特别是,java.util.Dictionary (javadoc)应该在一个单独的包中,而不是java.util.Map (javadoc)。类似地,您有HashtableHashMapjava.util.Vector (javadoc)现在实现了java.util.List (javadoc)。

显然,将VectorHashtable迁移到新包是不可能的,在新包中复制代码或对其中任何一个进行子类都会带来更大的麻烦(我甚至不想考虑会造成的混乱)。

当您查看java.util封装时,您将看到它主要是包含一些其他实用工具类的集合。

因此,尝试将新类放在不同的包中没有多大意义。

包含集合框架、遗留集合类、事件模型、日期和时间设施、国际化和杂项实用工具类(字符串标记器、随机数生成器和位数组)。

java.util继续收集框架。这首先也是最重要的。唯一在不同包中的集合是java.util.concurrent所使用的集合,它专注于并发性。这些仍然被认为是集合框架的一部分。来自java.util.concurrent.ConcurrentNavigableMap

public interface ConcurrentNavigableMap<K,V> extends ConcurrentMap<K,V>, NavigableMap<K,V>是支持NavigableMap操作的ConcurrentMap,因此对于其可导航的子maps.,该接口是Java框架的一个成员。自: 1.6

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/295153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档