Java 容器和对象有什么区别?

从字面上理解的话 容器就是装对象的东西 就像是那些数据结构:链表 列表 hashmap, hashset等等 这些里面只能承装对象。
但是数组算是什么呢?它像一个容器 但是里面却承装了原始类型的数据 不是对象。
还有一个问题:容器算不算也是对象呢?

下面逐个解决:
我们要明白 Java创建之初 是不完美的 而且当初的设计者是想让我们有一个能够便捷访问的数据结构–直接通过[i]这样非常直观的方式来访问。所以这才有了数组。
而容器 其实就是Collection,他是用来存方其他类的对象的一个container。
还记得下面的图吗
Java集合框架
这些东西都是容器。

我们为什么需要容器呢?
就是因为虽然数组用起来方便 但是不适合面向对象编程的思想。而且数组的长度难以扩充,而且数据类型必须相同。

容器算不算是对象呢?
Java的容器是前人为我们设计好的一套存储对象和数据的一套轮子,
所以我们可以把容器看作是对象组合起来方便我们根据不同的场景进行使用的东西。他本质上是(对象1 对象2)等等的组合,所以它本质上也是对象。
而且容器也是类,只是有的是抽象容器,没有办法实例化成对象。就像普通的抽象类 没有办法实例化成对象(实例)一样。
所以 对象(实例)能用的 容器也能用。

往大了说 我们自定义的Node就是一种容器,不过外面需要套一个LinkedList的更大的容器才方便使用。
真正的只含有数据的对象 恐怕只有Integer, Boolean这样的了 其他的都可以看作是容器。

posted @ 2020-12-10 01:09  EvanMeetTheWorld  阅读(82)  评论(0)    收藏  举报