Collection集合

1.Collection集合 它是单列集合的根
List     Set 接口
ArrayList  LinkedList
2.Collection常用方法
  add(ele) remove(ele) removeif(Lambda) clear() contains(ele) size() empty()
  由于Collection没有索引 所以必须使用通用遍历方式迭代器
3.迭代器
    1.获取迭代器 集合对象.iterator() 适用于所有单列集合 因为Collection extends Iterable
    2.判断当前索引位是否有元素 it.hasNext();
    3.如果有元素 it.next() 取出元素 并将指针指向下一个索引位 i++
4.迭代器的删除
    it.remove();删除当前指向的元素 底层也有i--
5.增强for
    for(集合中存储的数据类型 自己定义的变量名 : 集合或者数组)
    for(String s : list)
增强for底层就是迭代器 但是不能修改集合中的元素 因为是将集合中每个元素 转存到 变量s中
6.三种遍历方式的使用时机:
1.fori: 操作索引的时候使用
2.迭代器: 遍历过程中需要删除元素的时候使用 可以遍历没有索引的集合
3.增强for: 底层是迭代器 迭代器能遍历的它都能 但是不能修改集合中原有的元素 可以简化迭代器遍历 只做遍历的时候推荐使用
7.List集合
1.有序: 保证存入元素顺序和取出元素顺序一致 底层是数组
2.有索引: 可以通过索引操作元素
3.可重复: 可以存储重复的元素
8.ArrayList特有方法 都是根索引有关的方法
//插队 add(index,ele) 删除 remove(index) 修改 set(index,ele) 获取 get(index)
9.数据结构
1.栈: 先进后出 手枪弹夹 
2.队列: 后进先出 安检通道
3.数组: 有索引 所以查询效率一样 查询快 但是增删慢 中间位置增删后续所有元素都需要移动
4.链表: 单向链表 只记录下一个链表节点的地址 增删快 只影响旁边两个元素 查询慢 需要全链表遍历
       双向链表 记录前一个和后一个节点的地址 擅长操作头和尾 遍历会判断元素离哪边近 哪边就头
5.链表特有方法 addFirst addLast removeFirst removeLast getFiset getLast

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值