A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© beleveyourself 中级黑马   /  2016-10-17 11:42  /  1019 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

觉得总结的挺好的,特来分享给大家,喜欢记得留言。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端

7 个回复

倒序浏览
1、List的API文档说明
A、List有两个,使用 java.util.List
       集合所有相关API都在 java.util 包
B、父接口 --- Collection
        实现类 --- ArrayList LinkedList Vector(面试)
C、有序的 ----- 存入和取出一致
       有索引
       存储重复元素(重复依据:equals判断为true视为重复)
       可以存储 null 值,且null值有多个
D、方法
    特点:继承了Collection的方法
       拓展了一些方法:和索引相关
  总结:
  增
  add(int index, E e) ---- 在指定索引处插入元素 e
  删
  remove(int index) ------ 删除指定索引元素
  改
  set(int index, E e) ---- 将指定索引处的元素修改为 e
  查
  get(int index) --------- 获取指定索引元素
  
特有遍历
  for(int i = 0; i < 集合.size(); i++){
          数据类型 e = 集合.get(i);
  }  
  
2、并发修改异常
A、如果遍历过程当中,同时有修改集合元素的操作,可能会抛出此异常
B、根据实际API,有的集合实现类会检测并抛出异常
        但是,有的集合可能不会抛出异常
        有或然性
C、建议,无论使用什么集合,保险起见,当做都会抛出并发访问异常即可

3、数据结构
堆栈 ----- 先进后出
队列 ----- 先进先出
链表结构 -- 看图

4、LinkedList
LinkedList底层使用的双向链表,双向链表特点:
  可以从前向后查询,也可以从后向前查询
  因此LinkedList提供了一个特有的方法,这些特有的方法是关于首尾操作的

5、使用LinkedList实现堆栈与队列结构
实现方案有多种:
   以队列为例:
        方案1:可以使用之前遍历集合的方式 ---- 只是获取,不移除
        方案2:声明变量接收长度
                  for 循环 {
                          调用 removeFirst 方法
                          移除并且获取第一个元素
                  }
        方案3:
                while(!集合.isEmpty()){
                        调用 removeFirst 方法
                }
  实现堆栈与实现队列思路一样
  
6、JDK 1.0 时,只有一个集合API
   Vector,Vector实现和ArrayList基本一样
      后期出于编码风格和效率(后面多线程再将)考虑,使用ArrayList替换了Vector
      以后使用ArrayList 不用 Vector,但是Vector会在一些老的代码,面试题中遇到
   
  
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
gyy 中级黑马 2016-10-17 12:41:10
藤椅
恩恩,要是整理一下就更好了,这样子看起来有点乱额
回复 使用道具 举报
gyy 发表于 2016-10-17 12:41
恩恩,要是整理一下就更好了,这样子看起来有点乱额

主要我是复制过来的,手机发的,没发调整
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
蓝光四号 发表于 2016-10-17 12:46
不错呀

那当然,
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
今天正好要讲list。谢谢楼主啦

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马