集合

集合

  • 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 可变数组,速度低。
原文地址:https://www.cnblogs.com/refengqingfu/p/9978945.html