容器

》》容器(也称为“ 集合 ”),在任何需要时都可以扩充自己以容纳你置于其中的所有

      东西。因此,不需要知道将来会把多少个对象置于容器中,只需要创建一个容器

      对象,然后让它处理所有细节。

》》好的面向对象语言都有一组容器,它们作为开发包的一部分。

》》Java 在其标准库中也包含有大量的容器。

》》在某些类库中,一两个通用容器足够满足所有的需要;但是在其他类库(例如java)

       中,具有满足不同需要的各种类型的容器,例如 List (用于存储序列)Map(也

      称为关联数组,用来建立对象之间的关联)Set (每种对象类型只持有一个)

      以及诸如队列堆栈等更多的构件。

》》从设计的观点来看,真正需要的只是一个可以被操作,从而解决问题的序列。

》》如果单一类型的容器可以满足所有需要,那么就没有理由设计不同种类的序列了。

    然而还是需要对容器有所选择,这有两个原因:

        第一,不同容器提供了不同类型的接口和外部行为。堆栈相比于队列就具备不同的

                    接口和外部行为,也不同于集合和列表的接口和行为。它们之中的某种容器

                    提供的解决方案可能比其他容器要灵活得多。

       第二,不同的容器对于某些操作具有不同的效率。

      补充:上述操作以及其他操作的效率,依序列底层结构的不同而存在很大的差异。

》》接口 List 所带来的抽象,把在容器之间进行转换时对代码产生的影响降到最小限度。

》》容器的参数化类型机制:创建的容器,知道自己所保存的对象的类型,从而不需要

        向下转型以及消除犯错误的可能。这种机制在java中 ,称为泛型

       《泛型:

                一对尖括号,中间包含类型信息,通过这些特征就可以识别对泛型的使用。

          例如,可以用下面这样的语句来创建一个存储 Shape 的 ArrayList

              ArrayList<Shape>  shapes = new ArrayList<Shape>( );

              为了利用泛型的优点,很多标准类库构件够已经进行了修改。

       》


     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小达人Fighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值