Java的集合用的越来越多呀,没有了集合感觉没法写Java了,今天复习一下。
继承关系(灰底色表示是接口)
集合特性
Map接口
- Map接口是一种双列集合,它的每个元素都包含一个键对象和一个值对象,键和值之间存在一种对应关系,称为映射,Map接口与实现了Map接口的类有以下特点。
- 不能有重复的键对象,如果存储了相同的键,后存储的值会则会覆盖原有的值,键相同,值覆盖。
- 元素是无序的,存入顺序和取出顺序不一定一样。
- 指定泛型必须同时指定键与值,如Map<Integer, String> = new HashMap<Integer, String>;
ArrayList
- ArrayList的底层是用一个数组来存储元素的,因此不适合插入和删除,效率较低,适合查找。
HashSet
- HashSet是根据对旬的哈希值来确定元素在集合中的存储位置,具有良好的存取和查找性能。HashSet的存入顺序与取出顺序可能不一致。
- 当调用add()方法存入元素时会先调用hashCode()方法获得元素的存储位置,然后调用对象的equals()方法来确保该位置上没有重复元素。