左边的容器collection一个一个的往里面装,右边的map是一对一对的往里面装。
collection:定义了存储一组对象的方法,其子接口set和list分别定义了存储方式。
set:装在里面的东西没有顺序,并且不可以重复。
list:有顺序并且可以重复(equals)。
Map:定义了存储“键(key)-值(value)映射对”的方法。
容器类对象在调用remove和equals方法的时候需要比较对象是否相等,这会涉及到对象类型的equals方法和hashcode方法,对于自定义的类型,需要重写equlas方法和hashcode方法以实现自定的对象相等规则。
注意:相等的对象应该具有相等的hash codes.
hashcode什么时候用:当这个对象作为索引的时候,会使用。
索引:一对一对的存的时候,对hashcode的值进行比较效率比较高。
遍历方法:
重点推荐两种:
简单的遍历方法。
set接口:
Hashset:没有顺序并且不可以重复。
list接口:
ArrayList:
LinkList:
如何选择数据结构:
Array读快改慢
linked 改快读慢
Hash两者之间
Map接口:
实现map接口的类,用来存储键值对。
MAP接口的实现类有hashmap和TreeMAP
MAP存储的键-值对通过键来标识,所以键不能重复。