• Java集合框架学习


    集合框架

    集合框架的目标

    • 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现必须是高效的。
    • 该框架允许 不同类型的集合,以类似的方式工作,具有高度的互操作性。
    • 对一个集合的扩展和适应必须是简单。

    设计理解

    整个框架都是围绕一组标准接口而设计。

    可以直接实现这些标准的接口。

    LinkedListHashSetTreeSetArrayListHashMapVector 等等,具体在此包下

    分析java.util.此包下接口和类,都有些什么东西?

    1、Collection 接口有3种子类型,List、Set和Queue;

    2、下面是一些抽象类;

    3、最后是具体实现类,常用的有

    ArrayList和LinkedListHashSet和LinkedHashSetHashMap和LinkedHashMap

     

    1550569230502
    1550569230502

     

    谈谈个人理解

    Set和List的区别

    • 1、Set是无序的,数据是不重复的。List 是有序的,数据是可以重复的元素。
    • 2、Set 的查询效率低,但是删除和插入效率高。
    • 3、List 查询效率高,插入删除效率低。

    为什么Set 存储是无序?

    答:个人理解,因为数据不重复,自带去重,不会引起元素位置变化

    为什么List 存储是有序?

    答:个人理解,因为是按元素add顺序添加的,对添加元素内容不做过滤,所以会有重复数据

    为什么Set 查询效率低?

    答:个人理解,因为插入和删除不会引起元素位置改变,所以Set是无序的,又因为无序所以查询效率低。

    为什么List查询效率高?

    答:个人理解,因为插入和删除会引起其他元素位置改变,所以插入删除效率低,又因为List是有序的,所以查询效率高。

    总结

    Java 集合框架 为开发使用提供一套性能优良,使用方便的api接口。

  • 相关阅读:
    pandas
    CTC Loss原理
    CTC 的工作原理
    Demystifying JavaScript Closures, Callbacks and IIFEs
    Css compatibility
    Flexbox——快速布局神器
    centos wordpress
    Encog
    D3js
    Lucene学习
  • 原文地址:https://www.cnblogs.com/sunyk/p/10413489.html
Copyright © 2020-2023  润新知