美文网首页
java-集合类概述

java-集合类概述

作者: 逆风的妞妞 | 来源:发表于2019-03-15 15:39 被阅读0次

    List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。类似java数组,用户可以通过使用索引来访问集合中的元素。List接口的常用实现类有ArrayList类和LinkedList类。

    ArrayList类实现了可变数组,允许保存所有的元素,包括null。可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象的速度较慢。

    LinkedList类采用链表结构保存对象,这种结构的优点是便于向集合中插入和删除对象,效率较高;但是对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。

    Set集合中的对象不按特定的方式排序,只是简单的把对象加入集合中,但set集合中不能包括重复对象。Set接口常用的实现类有HashSet类和TreeSet类。

    HashSet类实现set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证Set的迭代顺序,允许使用null元素。

    TreeSet类不仅实现了Set接口,还实现了java.util.SortSet接口,因此,TreeSet类实现的set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,即可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序。

    Map集合没有继承COllection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。key还决定了存储对象在映射中的存储位置,但不是由key对象本身决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值。散列码通常作为一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合中允许值对象是null,而且没有个数限制。

    Map接口常用的实现类有HashMap和TreeMap。由HashMap类实现的Map集合添加和删除映射关系效率更高。HashMap是基于哈希表的Map接口的实现,HashMap通过哈希码对其内部的映射关系进行快速查找;而TeeeMap中的映射关系存在一定的顺序,如果希望Map集合中的对象也存在一定的顺序,应该使用TreeMap类实现Map集合

    相关文章

      网友评论

          本文标题:java-集合类概述

          本文链接:https://www.haomeiwen.com/subject/dsklmqtx.html