zoukankan      html  css  js  c++  java
  • 集合

    集合

    • collection和Iterator接口
    • 作用,批量存储数据
    • 特点,存储数量不等的多个对象,抽象为可变长度的object数组
    collection
    • 保存单个的对象
    • 特点
      • 无序不按照元素添加顺序
      • 可重复
    • 方法
      • boolean add(Object o);//添加指定对象,基本类自动装箱
      • void clear()
      • boolean contains(Object o)
      • boolean remove()
      • int size()
    • 实现子类
      • Set接口 : 保存单个对象,无序,不可重复
        • HashSet具体类
          • 使用哈希算法类实现的set集合
          • equals() 和 hashcode一致,为重复
          • 数组实现,哈希算法来计算下标偏移量。
            • 使用哈希算法来实习散列表。
            • 对内存要求高,插入,删除,检索速度快。
        • SortedSet接口,有序,二叉树实现,存放对象必须可比
          • TreeSet接口,用树结构来实现有序
            • 内部实现红黑树,并在每次插入和删除的时候进行维护,而带来检索速度的飞速提升。
            • 实现了自然排序,所以添加的元素之间要可以比较大小
            • 去重规则为comparTo结果为0
            • 二查搜素数,红黑树
            • 可以添加比较器来区别元素
      • List接口:保存单个,有序存放,可以重复
        • ArrayList具体类,用数组实现的List集合
          • void add(int index,Object obj); //向集合中指定下标插入一个新元素
          • Object get(int indexx) //从集合中获取指定下标的元素
          • Object set(int index, Object obj) //把集合中指定下标中的元素替换为新元素,返回老元素
          • Object remove(int index) //删除指定元素
          • 数组的局限性,内存要求连续
        • LinkedList 基于链表实现的集合
          • 链表的局限性,不可以随机访问
        • vevtor 可变数组,速度低。
  • 相关阅读:
    DELPHI中Showmodal与Show的区别
    怎样把一个文件夹里面所有文件的文件名提取出来,放到Excel表格里呢
    Python基础之函数
    Python_Openpyxl
    设计模式
    【转】深入理解递归函数的调用过程
    Java集合的Stack、Queue、Map的遍历
    数据结构-String、char
    leetcode-位运算
    Java web入门
  • 原文地址:https://www.cnblogs.com/refengqingfu/p/9978945.html
Copyright © 2011-2022 走看看