集合框架(day16)


第十六天  集合框架
集合概述:
  生活中,会有很多容器,酒瓶子,饮料,茶具
  酒瓶子: 白酒,啤酒,红酒,黄酒
  饮料: 脉动,拿铁,咖啡
  茶具: 茶叶,水
 容器的共同点:存储
 容器的不同点:存储方式不一样,取出方式也不一样
 java中的容器,集合就是一种容器,数组
 集合的存储特点,取出特点,java将集合分成了两大派系
 集合框架:存储,和获取
 集合和数组的区别
       数组可以存储基本数据类型,可以存储对象
       集合,只存储对象,不存储基本数据类型

       数组的长度是固定的
       集合的长度是可变的

       数组中提供了微乎其微的方法
       集合提供了大量的方法,来操作集合
1. Collection 集合的顶层接口
      add(对象) 向集合中存储对象,add()方法的参数设计是Object
      int size() 返回集合中元素的个数
      clear() 清空集合中的元素
      boolean contains(Object) 比较对象是否在集合中,在就返回真
      boolean remove(Object) 删除集合中的元素,删除成功返回真
      addAll(Collection ) 添加一批元素,将一个集合中的元素,添加到另一集合
      boolean containsAll(Collection )判断一个集合是否在另一个集合中,全部的元素
      boolean removeAll(Collection )删除两个集合相同的元素
      boolean retainAll(Collection )获取交集,存储两个集合中相同的元素,元集合不变时返回false
2. 取出集合中的元素,取出方式有一个通用的方法,就是迭代器
   迭代器是取出集合中元素的方法   必须要会****************
   Iterator  iterator()
         boolean hasNext() 判断集合中是否有下一元素
         Object next() 返回集合中的下一个元素
         remove() 移除集合中的元素
3. 集合中,存储自定义对象
       强制类型转换,存储的时候,已经将对象提示为了Object类型
       next()方法,只能出现一次
4. List集合
      这是一个有序集合(存储的顺序和取出的顺序是一致的)
      这个集合中的存储的元素,可以重复
      这个集合中的存储的元素,都有索引
      List集合中的特有方法
      Object get(int index)可以根据元素的索引,获取集合中的元素,支持for循环,就像是遍历数组一样
      add(int index ,Object o)指定的位置上插入元素
      addAll(int index, Collection  c) 
      remover(int index) 按照索引,删除集合中的元素,返回被删除掉的元素
      subList(start end) 获取集合中的一部分,包含头不包含尾,返回新集合
5. ListIterator -- List特有迭代器,Set Map不具备
     通过List集合返回这个特有迭代器,listIterator
     迭代集合的过程中,使用这个特有迭代器,可以对集合进行增,删,改的操作,不会出现异常
     add()  添加元素
     remove()移除元素
     set()修改元素
     反向迭代集合hasPrevious()==hasNext()    previous() == next() ,现正向,在反向
 6. ArrayList--使用频率很高的一个类
      这个集合,是List派系,具有Collection和List中的全部内容
      这个集合,底层数据结构是数组结构,可变数据结构
      每次50%递增,特点的查询快,增删慢
      线程不安全,执行效率高
      去掉集合中的重复元素*****
7. LinkedList-- 链表
      这个集合,是List派系,具有Collection和List中的全部内容
      这个集合,底层数据结构是链表结构
      特点:查询慢,增删块
      LinkedList 线程不安全,执行效率高
      LinkedList中的特有方法
        addFirst()元素插入开头
        addLast() 元素插入在结尾
        E getFirst() 返回此列表的第一个元素。
        E getLast()  返回此列表的最后一个元素
        E removeFirst() 移除并返回此列表的第一个元素。
        E removeLast() 移除并返回此列表的最后一个元素。
 8. Vector  --郁郁而终
      出现在集合框架之前,
      从1.2开始,实现List接口
      在没有集合框架之前,在java语言中,存储对象只能依靠Vector
      底层结构也是数组结构,但是他的扩展率100%
      线程安全,执行效率低
9. LinkedList练习 *****
     实现堆栈队列
     堆栈:
     数据的先进后出
     队列
     数据的先进先出


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值