• 集合的概述


    List、Map、Set的区别与联系

    1、结构特点

    • List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;
    • List存储的数据是有序的并且值是可以重复;Map中存储的数据是无序的,它的键是不允许重复的,但它的值是可以重复的;Set中存储的数据是无序的并且是不允许重复的,它的元素是由hashcode决定的,所以是固定的(用户无法控制hashcode,所有是无序的);

    2、实现类

    1. List接口的3个实现类
      • LinkedList基于链表的实现,非线程安全的,链表内存是散列的,增删快,查询慢;
      • ArrayList是基于数组的,非线程安全的,效率高,增删慢,查询快;
      • Vector是基于数组的,线程安全的,效率低,增删慢,查询慢;
    2. Map接口的4个实现类
      • HashMap基于hash表的Map接口实现,非线程安全,高效,支持null值与null键;
      • HashTable 线程安全,线程安全,低效,不支持null值与null键;
      • LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序;
      • SortMap接口 Treemap是SortMap的实现类,能够把保存的记录根据键排序,默认是键值的升序
    3. Set接口有2个实现类
      1. HashSet 底层是由HashMap实现,不允许集合中有重复的数值;
      2. LinkedHashSet 继承于HashSet,同时又基于LinkedHashMap来进行实现,底层实现是LinkedHashMap;
  • 相关阅读:
    oracle ORA01001,请求资源正忙或无效
    Flex[Embed(source='assets/error.png')]无法解析用于转换的代码错误
    正在覆盖未标记为 override 的函数
    LINUX umask详解
    C++服务器学习路线
    计算kappa系数
    umask的含义及设置
    Seurat的各种数据成员访问
    GAN训练判别器和生成器时的顺序与detach
    autograd.grad 学习
  • 原文地址:https://www.cnblogs.com/qiaoliming/p/list.html
Copyright © 2020-2023  润新知