• 第十四天 how can I 坚持


      今天工作中遇到了LinkedHashMap,于是就百度下它和HashMap的区别,LinkedHashMap遍历的话是有顺序的,遍历的话是以存储的顺序输出,HashMap遍历是没有顺序的,线程不安全的,可以同时写,并且key可以有一个为null,value可以有多个为null,HashTable是线程安全的,key和value都不可以为null。实现HashMap同步:Map<String String> map = Collections.synchronizedMap(new LinkedHashMap(<String String));  TreeMap可以把保存的记录按键值排序。

    顺便再回忆下 ArrayList和Hashset和LinkedList的区别:(以下为复制粘贴至http://bbs.csdn.net/topics/390337625?page=1)

    List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)
      |-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步

      |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢。

      |--Vector:底层是数组数据结构,线程同步,被ArrayList代替了,现在用的只有他的枚举。


    Set:元素是无序的,且不可以重复(存入和取出的顺序不一定一致),线程不同步。

      |--HashSet:底层是哈希表数据结构。根据hashCode和equals方法来确定元素的唯一性

      |--TreeSet:可以对Set集合中的元素进行排序(自然循序),底层的数据结构是二叉树,也可以自己写个类实现Comparable 或者 Comparator 接口,定义自己的比较器,将其作为参数传递给TreeSet的构造函数。

  • 相关阅读:
    《认知突围》摘抄
    《java多线程编程核心技术》----ThreadLocal
    java有必要记录的东西
    spring源码几个servlet功能的介绍
    基于openapi3.0的yaml文件生成java代码的一次实践
    Android攻城狮 调试
    Android攻城狮 http协议
    Android攻城狮 Android中更新UI的几种方式
    Android攻城狮 Handler与子线程
    Android攻城狮Handler简介
  • 原文地址:https://www.cnblogs.com/52-it/p/4430676.html
Copyright © 2020-2023  润新知