容器:顾名思义从字面上的理解就是能够容纳很多东西的器皿;
数组元素既可以是基本类型的值,也可以是对象而集合里面只能保存对象(实际上保存的是引用类型的变量——。
本章重点(2136):二张图一个类,三个知识点六个接口
如何选择数据结构:
衡量标准:读的效率和改的效率
从此映射中移除所有映射关系(可选操作) |
如果此映射包含指定键的映射关系,则返回 true |
如果此映射将一个或多个键映射到指定值,则返回 true |
返回此映射中包含的映射关系的 Set 视图。 |
比较指定的对象与此映射是否相等 |
返回指萣键所映射的值;如果此映射不包含该键的映射关系,则返回 null |
返回此映射的哈希码值。 |
如果此映射未包含键-值映射关系则返回 true。 |
返回此映射中包含的键的 Set 视图 |
将指定的值与此映射中的指定键关联(可选操作)。 |
从指定映射中将所有映射关系复制到此映射中(可选操作) |
如果存在一个键的映射关系,则将其从此映射中移除(可选操作) |
返回此映射中的键-值映射关系数。 |
返回此映射中包含的值的 Collection 视图 |
实例代码:(含自动打包和解包)
实例代码:(采用打包解包的形式写)
java集合的缺点是——把一个对象丢进集合里面之后,集合就会忘記这个对象的数据类型当再次取出该对象时,该对象的编译类型就变成了Object类型(运行时类型没有变)
java集合被设计成这样主要是因为设計者不知道我们会用集合来装什么类型的对象,所以设计成了可以装任何类型的对象
一、集合对元素的类型没有任何的限制,如果我只想装Dog对象程序可以轻易的将Cat对象丢进去;
二、将对象丢进集合时,集合丢失了对象的状态信息集合只知道他装的是Object,因此取来的时候需要强制转换
所谓泛型:就是允许在定义类、接口、方法时使用类型形参,这个类型形参将在声明变量、创建对象、调用方法时动态的指定