集合

集合类

单例集合Collection

List

有存储顺序,可重复

  • 特点:有存储顺序,可以重复

  • ArrayList

    • 特点:底层维护的数组,查询快增删慢
  • LinkedList

    • 特点:底层维护的是链表,增删快查询慢
  • Vector

    • 特点:和ArrayList相同但是线程安全,效率略低

Set

  • 特点:无存储顺序,不可重复
  • HashSet
  • TreeSet
  • LinkedHashSet

Collection接口共有的方法

    • add( ) 将指定的对象存储到容器 参数类型是object便于接收任意对象
    • addAll() 将指定集合中的元素添加到调用该方法的集合中
    • remove()将指定的对象从集合中删除
    • removeAll()将指定集合中的元素从该集合中删除
    • 清空集合中的所有元素 clear()
    • 获取容器的大小 int size()
    • 判断集合是不是为空 isEmpty()
    • 判断集合是否包含某个元素 contains()
    • 判断集合是否包含指定集合 containsAll()
  • 转换成数组 toArray()

List集合特有的方法

    • void add(int index,E element) 指定位置添加元素
    • boolean addAll(int index,Collection c)指定位置添加集合
    • remove(int index) 删除指定位置的元素返回的是删除的元素
    • set(int index,E element) 返回的是需要替换的集合中的元素
    • get(int index) 得到该位置的元素
  • 求子集合 List subList(int fromIndex,int toIndex)

  • LinkedList集合特有的方法

      • addFirst(Object obj) 添加头
      • addLast(Object obj) 添加尾
      • removeFirst()删除头
      • removeLast()删除尾
      • getFirst() 获得头
      • getLast() 获得尾
    • 数据结构

      • 1:栈 (1.6)先进后出

        • push() pop()
      • 2:队列(双端队列1.5)先进先出

        • offer()poll()

迭代器

Iterator iterator() 返回该集合的迭代器对象

Itreator 该接口是集合的迭代器接口类,定义了常见的迭代方法

  • 1:boolean hasNext() 判断集合中是否有元素,如果有元素可以迭代,就返回true。
  • 2: E next() 返回迭代的下一个元素,注意: 如果没有下一个元素时,调用next元素会抛出NoSuchElementException
  • 3: void remove() 从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)

List特有的迭代器ListIterator

  • 特有的方法

    • add() 将指定的元素插入列表(可选操作)。该元素直接插入到 next 返回的下一个元素的前面(如果有)
    • void set(E o) 用指定元素替换 next 或 previous 返回的最后一个元素
    • hasPrevious() 逆向遍历列表,列表迭代器有多个元素,则返回 true。
    • previous() 返回列表中的前一个元素。

Set 不可以有重复元素的集合

  • HashSet 线程不安全,存取速度快。底层是以hash表实现的。
  • TreeSet 红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象返回值为0,那么元素重复

双列集合Map

Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复

HashSet采用哈希表实现 无序

HashMap 可以对键进行排序

HashTable 底层是哈希表数据结构,线程是不同步的可以存入null键null值

  • LinkedHashMap 基于哈希表 又融入了链表 对Map集合进行增删提高效率

TreeMap

  • 底层是二叉树数据结构 可以对map集合中的键值进行排序

通用方法

    • put(K,V)可以是相同的k但是会覆盖前面的k对应value的值
    • putAll(map)
    • remove()删除关联对象 指定的key
    • clear()清空集合对象
  • 获取

    • value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返
    • 回的是null。
    • 长度 size()
    • 是否为空 isEmpty()
    • 是否包含指定的key containsKey()
    • 是否包含指定的value containsValue()
  • map的遍历

    • 1.将map集合中所有的键取出存入set集合

      • set keySet 返回所有的key对象的Set集合 再通过get的方法获取键对应的值
    • 2.values() 获取所有的值

      • Collection values 不能获得key对象
    • Map.Entry 对象

      • Set<Map.Entry<k,v>> entrySet() 将map 集合中的键值映射关系打包成一个对象 Map.Entry对象通过Map.Entry 对象的getKey, getValue获取其键和值。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值