javase集合类

集合

  • 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具体类,用红黑树结构来实现有序
          • 内部使用TreeMap来维护。
          • TreeMap实现红黑树,并在每次插入和删除的时候进行维护,而带来检索速度的飞速提升。
          • 实现了自然排序,所以添加的元素之间要可以比较大小
          • 去重规则为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 可变数组,速度低,不建议使用

集合工具类

  • 一般名词后面加s为工具类
  • reverse(list) 反转
  • shuffle(list) 排序,乱序
  • sort(List[, Comparator]) 排序,可定制,
  • max(List) 最大值
  • min(List) 最小值
  • 同步控制
    • synchronizedcccc(),线程安全函数,可以使用类来包装
  • Enumeration 枚举器,老版本迭代器
  • List asList(List) 返回list,不能添加。

猜你喜欢

转载自blog.csdn.net/qq_34548401/article/details/84920889
今日推荐