zoukankan      html  css  js  c++  java
  • java数据结构学习

    HashTable, HashMap,TreeMap区别

    HashTable, HashMap主要区别在于线程安全性,HashTable是线程安全的,另外继承的类不一样,
    HashTable继承自Dictionary,实际使用效果差不多。
    HashTable不允许空值,HashMap允许空值

    Hashmap和Hashtable都是无序的


    TreeMap是有序的,而且每个键值对的第一元素及key如果不是基本数据类型,并且实现了Comparable接口,那么可以在这个接口的实现里面自定义比较规则,排序规则

    TreeMap的实现算法是红黑树,这是一种特殊的二叉树,比较复杂,后面再研究。TreeMap是主要使用场景是用于需要排序的map

    Vector,ArrayList, LinkedList的区别

    Vector和ArrayList的实现基本一致,类似StringBuffer和StringBuilder,Vector是线程安全的
    LinkedList的内部是链表,Vector和ArrayList内部是数组
    链表在开头和末尾写入(包括插入,删除)都快,而且在中间插入,删除也快;但是读一个元素要挨个遍历,比较慢
    数组在末尾写入(包括插入,删除)也快,但是开头和中间插入,删除很慢,因为后面的元素都要移动位置;读一个元素很快,因为有编号

    String,StringBuffer,StringBuilder的区别

    看了StringBuffer和StringBuilder的源码,两者基本一致,
    StringBuffer多了几个方法,相同的方法里面每个都加了synchronized关键字,其他都相同。
    StringBuffer线程安全,StringBuilder速度快

    -------------------------
    技术不在于多么高超先进巧妙,而在于要有现实价值!!!
  • 相关阅读:
    最漂亮( iTerm2+oh-my-zsh配色)
    python对excel的操作
    appium环境搭建
    Python单元测试unittest
    git命令日常总结
    mongon数据库的查询样例
    组合逻辑电路笔记
    Jlink驱动下载
    机组笔记
    计算机网络随笔(一部分知识点)
  • 原文地址:https://www.cnblogs.com/geektcp/p/9912429.html
Copyright © 2011-2022 走看看