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 下的类,是针对集合的帮助类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

  • 相关阅读:
    linux运维学习
    2017年阿里巴巴三面经验
    Spring Boot:在Spring Boot中使用Mysql和JPA
    meshroom和alicevision在Ubuntu16上的安装过程
    ubuntu rm -rf ntfs 硬盘恢复
    python 脚本内部修改 LD_LIBRARY_PATH
    python uml 图
    tlmgr 相关
    ubuntu 安装 clangd 10.0.0
    zsh 快捷键
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138673.html
Copyright © 2011-2022 走看看