• [集合]集合相关简单总结


    * Collection
    *    List(存取有序,有索引,可以重复)
    *      ArrayList
    *        底层是数组实现的,线程不安全,查找和修改快,增和删比较慢
    *      LinkedList
    *        底层是链表实现的,线程不安全,增和删比较快,查找和修改比较慢
    *      Vector
    *        底层是数组实现的,线程安全的,无论增删改查都慢
    *    如果查找和修改多,用ArrayList
    *    如果增和删多,用LinkedList
    *    如果都多,用ArrayList
    *    Set(存取无序,无索引,不可以重复)
    *      HashSet
    *        底层是哈希算法实现
    *        LinkedHashSet
    *          底层是链表实现,但是也是可以保证元素唯一,和HashSet原理一样
    *      TreeSet
    *        底层是二叉树算法实现
    *    一般在开发的时候不需要对存储的元素排序,所以在开发的时候大多用HashSet,HashSet 效率比较高
    *    TreeSet在面试的时候比较多,问你有几种排序方式,和几种排序方式的区别

        

    TreeSet的两种排序方式

    (1). 让元素本身具有比较性

           元素本身要实现Comparable接口并实现里面的compareTo方法以保证元素本身具有比较性

    (2). 让容器自身具有比较性

           当元素本身不具有比较性或者具备的比较性不是所需要的,就在TreeSet建立实例的时候,传入Comparator接口的实现子类的实例。这个Comparator子类必须实现compare方法。


    * Map
    *    HashMap
    *      底层是哈希算法,针对键
    *      LinkedHashMap
    *        底层是链表,针对键
    *    TreeMap
    *      底层是二叉树算法,针对键
    * 开发中用HashMap比较多

  • 相关阅读:
    常见银行编码收集
    kafka集群在消息消费出现无法找到topic分区的处理解决
    find命令通过排序只保留最新的文件目录
    Git fetch和git pull的区别
    git 常用命令
    wordpress模板修改及函数说明
    webbench进行压力测试
    git存储用户名与密码
    导出putty配置
    一个成功的Git分支模型
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11273151.html
Copyright © 2020-2023  润新知