Java 集合:框架还是库?

smc*_*smc 5 java collections

可能的重复:
框架和库之间有什么区别?

Java 文档说集合框架

为什么java集合被称为框架而不是库?现在我对框架对库的期望更加困惑..

App*_*ish 2

框架与库的区别如下:

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

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

可扩展性 - 用户通常可以通过选择性覆盖或通过提供特定功能的用户代码进行专门化来扩展框架。

不可修改的框架代码 - 一般情况下,不允许修改框架代码。用户可以扩展框架,但不能修改其代码。

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