• UML,集合框架


    1.什么是UML

    UML是统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件和软件开发过程中非常重要的一部分。UML主要使用图形符号来表示软件项目的设计,使用UML可以帮助项目团队沟通、探索潜在的设计和验证软件的架构设计。

    2.ArrayList、LinkedList和Vector的区别


    1)ArrayList和LinkedList的区别


    相同点:
    1、LinkedeList和ArrayList都实现了List接口。
    2、ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。
    不同点:
    1、ArrayList底层实现是数组,而LinkedList是双向链表。
    2、ArrayList查询快(下标)、增删改慢、LinkedList是查询慢,但是在插入删除时效率比较高。

    2)ArrayList和Vector的区别


    相同点:
    1、ArrayList和Vector都是用数组实现的
    2、默认初始化大小都是10


    不同点:
    1、Vector多线程是安全的,而ArrayList不是。Vector类中的方法很多有synchronized进行修饰,这样就导致了Vector在效率上无法与ArrayList相比;
    2、两个都是采用的线性连续空间存储元素,但是当空间不足的时候,两个类的增加方式是不同的。(ArrayList每次存储时会检查空间大小,不够时会扩充为原来的1.5倍,Vector会扩充为原来空间的2倍)


    3.HashSet、LinkedHashSet和TreeSet的特点:


    1)HashSet
    - 它不允许出现重复元素;
    - 不保证集合中元素的顺序
    - 允许包含值为null的元素,但最多只能有一个null元素。
    - HashSet的实现是不同步的。
    2)LinkedHashSet:
    - 哈希表和链表实现Set接口,具有可预测的迭代次序;
    - 由链表保证元素有序,也就是说元素的存储和取出顺序是一致的。
    - 由哈希值保证元素唯一,也就是说没有重复的元素
    2)TreeSet:
    TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。TreeSet是基于TreeMap实现的。TreeSet中的元素支持2种排序方式:自然排序 或者 根据创建TreeSet 时提供的 Comparator 进行排序。

    4.HashMap与Hashtable的区别

    1)HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。
    2)HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
    3)HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
    4)Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
    Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

    就HashMap与HashTable主要从三方面来说。
    1)历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现;
    2)同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的;
    3)值:只有HashMap可以让你将空值作为一个表的条目的key或value

    5.List,Set,Map三者的区别及总结

    List:对付顺序的好帮手
    List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象

    Set:注重独一无二的性质
    不允许重复的集合。不会有多个元素引用相同的对象。

    Map:用Key来搜索的专家
    使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。

  • 相关阅读:
    在Vue.js中,什么是mixins?它们的作用是什么?
    2022-08-20 数据库连接池
    快速批量导出excel超链接
    【编译原理】LL(1)文法
    安全测试BurpSuite-抓包篡改数据
    DDD的哲学意味(上)
    函数模板(成长版)
    在Docker跑通Flink分布式版本的WordCount
    HTTP 头部- Origin Referer
    集成随机惯性权重和差分变异操作的樽海鞘群算法-附代码
  • 原文地址:https://blog.csdn.net/djssubddbj/article/details/133068639