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


    * 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比较多

  • 相关阅读:
    AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch
    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
    iOS多线程与网络开发之小文件上传
    VMware-Fusion-7.0.0-2103067 Pro SN:序列号+ 百度云下载地址
    PCA的数学原理Matlab演示
    typedef,结构体,共用体,联合体
    XMPP系列(三)---获取好友列表、加入好友
    王立平--eclipse中改动android项目的版本
    linux入门
    机器学习(3)——多变量线性回归
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11273151.html
Copyright © 2020-2023  润新知