zoukankan      html  css  js  c++  java
  • List、Set、Map是继承自Collection吗?

    List:

    1、可以允许多个重复元素

    2、可以插入多个null元素

    3、是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序

    4、常用的实现类有ArrayList、LinkList和Vector。用的最多的就是ArrayList,它提供了使用索引的随意访问,查询快,增删慢;LinkList则查询慢,增删快。

    Set:

    1、不允许重复元素

    2、只可以插入一个null元素

    3、无序容器,无法保证每个元素的存储顺序,TreeSet通过Comparator或者Comparable维护了一个排序顺序

    4、Set接口常用的实现类是HashSet、LinkedHashSet以及TreeSet

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

    Map:

    1、Map不是collection的子接口或者实现类。Map是一个接口。
    2、Map 的 每个 Entry 都持有两个对象,也就是一个键一个值(键值对),Map 可能会持有相同的值对象但键对象必须是唯一的。
    3、TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序。
    4、Map 里你可以拥有随意个 null 值但最多只能有一个 null 键。
    5、Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)

    HashMap、TreeMap和HashTable的区别?

    Map接口有三个重要的实现类,分别是HashMap、TreeMap和HashTable

    HashTable:无序且不允许键和值为null,否则运行时报空指针异常,方法同步,线程安全,很少被推荐

    HashMap:无序,键和值可以为null,键不可重复,值可以重复,不同步,用键值对存取的首选

    TreeMap:有序,查询结果默认升序,键不可重复,值可以重复

  • 相关阅读:
    常用到的Linux基础命令
    adb linux
    adb,monkey,perfdog的区别
    postman中的变量与使用
    fiddler教程-抓包,弱网,断点,mock等
    linux启动服务和开机自启动设置
    .NET Framework 版本和依赖关系
    C#中的Guid
    EPL II 编程打印
    Button 类
  • 原文地址:https://www.cnblogs.com/elian91/p/11087483.html
Copyright © 2011-2022 走看看