zoukankan      html  css  js  c++  java
  • 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接口。

  • 相关阅读:
    c# 遍历DataTable
    c# 判断网络状态
    c# 发送Http 请求
    c# 处理Json字符串
    环境搭建(Nginx + PHP7 + Mysql + 运行ThinkPHP5项目)
    c# 获取时间戳
    php 处理 byte
    微信小程序 滚动至元素底部
    mysql 删除 多个字段相同的 重复的 数据
    微信小程序 跑马灯效果
  • 原文地址:https://www.cnblogs.com/sunyk/p/10413489.html
Copyright © 2011-2022 走看看