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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 936994215 中级黑马   /  2016-7-7 11:46  /  372 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合类的由来:
对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储。

集合特点:
1.用于存储对象的容器
2.集合的长度可变
3.集合中不可以存储基本数据类型。(与数组的区别)

集合容器因为内部数据结构不同,有多种具体容器。
不断向上抽取,就形成了集合框架。

框架的顶层Collection接口:

Collection的常见方法:
1.添加
        boolean add(E e)
          确保此 collection 包含指定的元素(可选操作)。
        boolean addAll(Collection<? extends E> c)
          将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。 A∪B

2.删除
        boolean remove(Object o)
          从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
        boolean removeAll(Collection<?> c)
          移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。 A-A∩B

        void clear()
          移除此 collection 中的所有元素(可选操作)。

3.判断
        boolean contains(Object o)
          如果此 collection 包含指定的元素,则返回 true。
        boolean containsAll(Coll ection<?> c)
          如果此 collection 包含指定 collection 中的所有元素,则返回 true。

        boolean isEmpty()
          如果此 collection 不包含元素,则返回 true。

4.获取
        int size()
          返回此 collection 中的元素数。
        Iterator<E> iterator() //依赖具体容器的成员内部类
          返回在此 collection 的元素上进行迭代的迭代器。

5.其它
        boolean retainAll(Collection<?> c)
          仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。 A∩B

---------------------------------------
Collection
    |--List:有序(存入和取出的顺序一致),元素都有索引,可以重复。
    |--Set:无序,不重复。

List的常见方法,可以操作索引。

1.添加
        boolean add(E e)
          向列表的尾部添加指定的元素(可选操作)。
        void add(int index, E element)
          在列表的指定位置插入指定元素(可选操作)。
        boolean addAll(Collection<? extends E> c)
          添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。
        boolean addAll(int index, Collection<? extends E> c)
          将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。

2.删除

        E remove(int index)
          移除列表中指定位置的元素(可选操作)。
boolean remove(Object o)
          从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
boolean removeAll(Collection<?> c)
          从列表中移除指定 collection 中包含的其所有元素(可选操作)。

3.修改
        E set(int index, E element)
          用指定元素替换列表中指定位置的元素(可选操作)。

4.获取
        E get(int index)
          返回列表中指定位置的元素。
        int indexOf(Object o)
          返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
        int lastIndexOf(Object o)
          返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。
        List<E> subList(int fromIndex, int toIndex)
          返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。

总结:List是可以对数据完成增删改查集合容器。

List
  |--Vector:内部是数组数据结构,同步,可变长度,100%延长,增删改查都超慢!!已挂!
  |--ArrayList:内部是数组数据结构,不同步,替代了Vector,如果多线程直接给ArrayList加锁,可变长度(初始化为10),50%延长
  |--LinkedList:内部是链表数据结构,不同步


后续~~

1 个回复

倒序浏览
支持一下下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马