- Collection体系的特点、使用场景总结
- Map集合
- Map API如下:
- 三种遍历Map方式
- 如果希望元素可以重复,又有索引,索引查询要快?
用ArrayList集合,基于数组的。(用的最多) - 如果希望元素可以重复,又有索引,增删首尾 *** 作快?
用linkedList集合,基于链表的。 - 如果希望增删改查都快,但是元素不重复、无序、无索引。
用HashSet集合,基于哈希表的。 - 如果希望增删改查都快,但是元素不重复、有序、无索引。
用linkedHashSet集合,基于哈希表和双链表。 - 如果要对对象进行排序。
用TreeSet集合,基于红黑树。后续也可以用List集合实现排序。
特点:
- Map集合的特点都是由键决定的。
- Map集合的键是无序,不重复的,无索引的,值不做要求(可以重复)
- Map集合后面重复的键对应的值会覆盖前面重复键的值
- Map集合的键值对都可以为null
实现类的特点
- HashMap:元素按照键是无序,不重复,无索引,值不做要求。(与Map体系一致)
- linkedHashMap:元素按照键是有序,不重复,无索引,值不做要求
- TreeMap:元素按照建是排序,不重复,无索引的,值不做要求
- 键找值
方法 说明 Set keySet()获取所有键的集合 V get(Object key)根据键获取值 - 键值对
方法 说明 Set > entrySet()获取所有键值对对象的集合 K getKey()获取键 V getValue()获取值 - Lambda
方法 说明 default void forEach(BiConsumer super K, ? super V> action)结合lambda遍历Map集合 maps.forEach((k , v) -> { System.out.println(k +"----->" + v); });
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)