zoukankan      html  css  js  c++  java
  • 集合

    以下是相关集合的几个问题:

    List,Set继承Collection接口,Map不是

    List、Map、Set 三个接口,存取元素时,各有什么特点?
    List 以特定次序来持有元素,可有重复元素。
    Set 无法拥有重复元素,内部排序。
    Map 保存key-value 值,value 可多值。


    最常用的集合类是List 和Map。
    List 的具体实现包括ArrayList 和Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。List 适用于按数值索引访问元素的情形。

    Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。


    ArrayList,Vector, LinkedList 的存储性能和特性:
    ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢
    Vector 由于使用synchronized 方法(线程安全),通常性能上较ArrayList 差
    LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

    Arraylist 与Vector 区别?
    答:就ArrayList 与Vector 主要从二方面来说:
    1)同步性:Vector 是线程安全的(同步),而ArrayList 是线程序不安全的;
    2)数据增长:当需要增长时,Vector 默认增长一倍,而ArrayList 却是一半。


    Collection 和Collections 的区别?
    Collection 是java.util 下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List;
    Collections 是个java.util 下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

  • 相关阅读:
    POJ1769 Minimizing maximizer(DP + 线段树)
    ZOJ3201 Tree of Tree(树形DP)
    POJ3613 Cow Relays(矩阵快速幂)
    POJ3635 Full Tank?(DP + Dijkstra)
    ZOJ3195 Design the city(LCA)
    POJ3368 Frequent values(RMQ线段树)
    POJ3686 The Windy's(最小费用最大流)
    HDU4871 Shortest-path tree(最短路径树 + 树的点分治)
    POJ3013 Big Christmas Tree(最短路径树)
    Gym100685G Gadget Hackwrench(倍增LCA)
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138673.html
Copyright © 2011-2022 走看看