Java集合:框架还是库?

Java集合:框架还是库?,java,collections,Java,Collections,可能重复: Java文档说 为什么java集合被称为框架而不是库? 现在,我更困惑的是,对于一个框架和一个库,我能期望得到什么。以下特征将框架与库区分开来: 控制反转-与库或普通用户应用程序不同,在框架中,整个程序的控制流不是由调用方决定的,而是由框架决定的 默认行为-框架具有默认行为。这个默认行为实际上必须是一些有用的行为,而不是一系列的无操作 可扩展性-用户通常可以通过选择性重写或通过提供特定功能的用户代码来扩展框架 不可修改的框架代码-通常不允许修改框架代码。用户可以扩展框架,但不能修改

可能重复:

Java文档说

为什么java集合被称为框架而不是库?
现在,我更困惑的是,对于一个框架和一个库,我能期望得到什么。

以下特征将框架与库区分开来:

控制反转-与库或普通用户应用程序不同,在框架中,整个程序的控制流不是由调用方决定的,而是由框架决定的

默认行为-框架具有默认行为。这个默认行为实际上必须是一些有用的行为,而不是一系列的无操作

可扩展性-用户通常可以通过选择性重写或通过提供特定功能的用户代码来扩展框架

不可修改的框架代码-通常不允许修改框架代码。用户可以扩展框架,但不能修改其代码


基本上,框架是一种行为无法更改的库类型。例如,可以在java中扩展类ArrayList或HashMap,但不能更改这些类的行为。

相关:猫是捕食者还是哺乳动物?现在对这个问题应用同样的推理!您不应该期望从框架和库中得到不同的东西。我会把它们当作同义词。