• Java集合异同


    1、Collection 接口 :

    Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的
    元素, Java不提供直接继承自Collection的类,只提供继承它的子接口(如List和set)。

    Collection 接口存储一组不唯一,无序的对象。


    2、List 接口 :

    List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,
    能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的
    索引为 0,而且允许有相同的元素。

    List 接口存储一组不唯一,有序(插入顺序)的对象。


    3、Set 接口:

    Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。

    Set 接口存储一组唯一,无序的对象。


    4、Map:

    Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

    5、什么是哈希?
    (1)哈希就是基于数组,通过把键值用哈希函数转换成数组下标。

    (2)如果转换的数组下标对应的数据项已经存在数据,这就叫做冲突,而解决冲突的办法有开放地址法和链地址法。

    (3)开放地址法就是一个一个的顺着数组往下查找空位。

    (4)链地址法就是数组中的每位置都设有一条链表,数据项就放到键值所对应的数组下标中的链表中,包括多个键值相同的数据项,也就是键值映射到同一个数组位置,数据项同样放到链表中。

    6、Set和List的区别:

        1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以
    重复的元素。

        2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类
    有HashSet,TreeSet>。

        3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。
    查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,
    LinkedList,Vector> 。

  • 相关阅读:
    Learning to Compare: Relation Network for Few-Shot Learning 论文笔记
    修改python import模块中的变量
    roslaunch保存的log文件没有打印的ERROR信息
    python json demo
    vscode 1.32.x按下鼠标左键无法拖曳选择,而旧一点的版本1.30.2可以
    java-ee--------jdbc
    集合
    关键字
    java面向对象
    数组
  • 原文地址:https://www.cnblogs.com/zz-newbie/p/14836756.html
Copyright © 2020-2023  润新知