zoukankan      html  css  js  c++  java
  • 面试题常见问题List,Set和Map的区别

    <1>List,Set,Map三种集合的区别:

    1.List和Set集合继承自Collection

    Map集合不继承Collection

    2.List是一种有序(存储顺序)可重复(元素)的集合。

    Set是一种无序(存储顺序)不可重复(元素)的集合。

    Map是一种以键值对形式存储的集合。

    <2>ArrayList和Vector的区别:

    1.ArrayList:是线程不安全的,效率高。

    2.Vector:是线程安全的。

    3.ArrayList和Vector都可以使用for语句或者迭代器遍历,但是Vector还可以使用枚举遍历。

    <3>ArrayList和LinkedList的区别:

    ArrayList是采用变长数组算法实现的。

    LinkedList是采用双向循环链表实现的。

    <4>List接口中三个实现类的区别:

    LinkedList:采用双向循环链表实现。可以快速执行插入,删除的方法。线程不安全。

    ArrayList:采用变长数组算法实现的,特点是:快,线程不安全。

    Vector:采用变长数组算法实现的,特点是:慢,线程安全。

    <5>HashMap与HashTable的区别:

    1.HashMap允许存null键和null值,HashTable不允许存null键和null值。

    2.HashMap是线程不安全的,HashTable线程是安全的。

    3.HashMap可以采用迭代器遍历集合中的元素,而HashTable既可以使用迭代器,还可以使用枚举遍历。

    <6>Collection与Collections的区别:

    Collection接口:是集合类的父接口,继承它的接口只要有List和Set

    Collections类:针对集合的一个帮助类,它提供了一系列的静态方法对各种集合的搜索,排序等操作。

  • 相关阅读:
    Django Rest framework FilterSet 设置 help_text
    树莓派:灯光,相机,动作,和非现场存储
    CFileDialogST v1.0
    使任何应用程序透明的Windows 2000/XP
    产生半透明的对话框和窗口没有闪烁
    一个酷的皮肤GUI与阴影边界
    使用图像蒙皮的表单
    一个控制皮肤组织的控制
    写一个潦草的应用程序使用可视化组件框架
    CRegionCreator
  • 原文地址:https://www.cnblogs.com/sujulin/p/9026732.html
Copyright © 2011-2022 走看看