Java初级篇—List集合

List集合

1.ArrayList 3.Vector 2.LinkedList

  1. ArrayList----->底层就是一个数组
    所属的包 java.util
    如何创建对象
    无参数构造方法 带默认空间的构造方法 带collection参数的构造方法
    常用的方法—小容器
    存 add
    取 get
    删 remove
    改 set
    个数 size
			add(E e)   add(int index,E e)
			addAll(Collection c);   add(int index,Collection c)
			clear();将集合内的全部元素清除
			boolean = contains(Object);找寻某一个给定的元素是否在集合中拥有
			ensureCapacity(int minCapacity);
			E = get(int index);
			int = indexOf(Object obj);  lastIndexOf();
			boolean = isEmpty();
			Iterator = list.iterator();//迭代器
			remove(int index)  remove(Object obj)
			removeAll()差集
			retainAll();交集
			E = set(int index,E value)
			int size();
			List = subList(int begin,int end);
			toArray();	集合变成数组
			toArray(T[] );
			trimToSize();// 变成有效元素个数那么长

关于泛型的问题:

由于arrayList底层是一个Object[] 什么类型都可以存进去
取出来的时候多态的效果 需要自己造型 显得用起来非常的麻烦
JDK1.5之后—>泛型
用来规定数据类型的,定义的时候用一个符号代替某种类型
在使用的时候用具体的数据类型 将定义的那个符号替换掉

泛型可以用在哪里?

  1. 泛型类
    类定义的时候描述某种数据类型 集合的使用就是这样
  2. 泛型接口
    与泛型类的使用基本一致 子类实现接口时必须添加泛型
  3. 泛型方法
    方法调用时传参数 方法的泛型与类无关 带有泛型的方法可以不放在带有泛型的类中
  4. 高级泛型 规范边界 extends super

Vector类

  1. java.util包
  2. 是ArrayList集合的早期版本 (StringBuffer早期 StringBuilder后来)
    Vector底层也是利用(动态)数组的形式存储
    Vector是线程同步的(synchronized) 安全性高 效率低
  3. 扩容方式与ArrayList不同
    默认是扩容2倍 可以通过构造方法创建对象时修改这一机制
  4. 构造方法
  5. 常用方法

Stack类 栈

  1. java.util包
  2. 构造方法只有一个无参数
  3. 除了继承自Vacton类的方法外还有特殊的方法
    push(E e)将某一个元素压入栈顶(add())
    E = pop()将某一个元素从栈顶取出并删掉(E = remove())
    E = peek()查看栈顶的一个元素 不删除(get())
    boolean = empty()判断栈内元素是否为空(isEmpty())
    int = search()查找给定的元素在占中的位置(indexOf())
  4. 中国象棋 悔棋
    栈中存储每一次操作的步骤
    撤销功能

Queue接口

  1. java.util 通常子类LinkedList ArrayDeque
  2. 通常无参数构造方法创建
  3. 一般方法
    add()
    element()---->get()
    remove()
    boolean = offer(E e);//相当于add 不会抛出异常
    E = peek();//相当于 element方法
    E = poll();剪短// 相当于remove()
  4. 双十一零点秒杀
    所有进入秒杀系统的人存入队列

ArrayList、LinkedList类

  1. java.util包 自己封装过LinkedBox 内部类Node对象(节点 prev item next)
  2. 底层使用双向链表的数据结构形式来存储
    适合于插入或删除 不适合遍历轮询
  3. 构建对象
    无参数构造方法 带参数的构造方法(collection)
  4. 常用的方法
    增删改查 add() remove() set() get() size() offer poll peek
    手册中提供的其他常用方法
    addAll addFist addLast() clear() contains()
    element() getFirst() getLast() indexOf() lastIndex()
  5. 插入删除的特性是否像想的那样
    对比ArrayList Linked

阅读更多

三连博主,每天分享一个编程小技巧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值