• Collection集合框架


    数组的特点:

      1.长度一旦被定义,不允许被改变

      2.在内存中开辟连续的空间

      3.便于查询,但是插入和删除麻烦

    集合框架  父接口Collection

    public interface List<E> extends Collection<E> 

    public interface Set<E> extends Collection<E> 

    public interface Map<K,V> 

      Vector  线程安全,但是性能低

      List    存储的都是不唯一、有序(插入顺序)的数据!

      Set     存储的都是唯一、无序的数据!

      Map

        List接口常用的实现类

        01.ArrayList  底层就是一个动态数组,自动扩充!

          新增和删除的效率低!遍历数据快!

        02.LinkedList   底层就是一个链表

          新增和删除的效率高!遍历数据慢!

        Set接口常用的实现类

        01.HashSet  散列表

          001.add新增数据

          002.其实是使用了map.put()

          003.map.put(key.value)决定了key是唯一的

        两个数据如果内容一致,hash值肯定一样!

        两个数据如果hash值一样,内容可能不一致!

          001.比较hash

          002.比较内存地址

          03.equals比较内容

        02.TreeSet  树型结构  自带排序

          只有实现Comparable接口的类才能被排序!

        Map  单独的接口

        01.HashMap

          001.Iterator  所有集合中都有一个Iterator,用来遍历集合中的数据!

            hasNext() 判断集合中是否存在下一个元素  返回时boolean

            next() 获取集合中下一个元素

            remove() 删除元素

        02.TreeMap

        03.HashTable

          001.HashMap 线程不安全,但是性能高

            HashTable 线程安全,但是性能低

          002.HashTable 从1.0版本就已经开始使用

            HashMap  从1.2版本才已经开始使用

          003.HashMap 底层局势hash表来实现的 key和value都可以是null

            HashTable key和value都不可以是null

    Collections

      一些方法来操作集合类!

  • 相关阅读:
    爬虫基础1 怎么使用浏览器查看网络请求
    前端模块化总结(commonJs,AMD,CMD,ES6 Module)
    js强制类型转换规则
    vue-cli3中使用mxgraph的一些总结
    js概念笔记(this)
    js概念笔记(for循环,模块化)
    根据对象数组的某一属性排序
    从svg诞生的panda
    gulp笔记(从开发到发布)
    webpack4.x学习笔记
  • 原文地址:https://www.cnblogs.com/dongfengpo/p/8073143.html
Copyright © 2020-2023  润新知