• AJPFX总结Collection集合(上)


    出现集合类的原因
    面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一个方式.
    数组和集合都是容器有何不同?
    数组虽也可存储对象,但长度是固定的,集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象.
    特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象.
    Collection ****
             |--List:元素是有序的,元素可以重复。因为该集合体系有索引。
                       |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。50%延长
                       |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
                       |--Vector:底层是数组数据结构。被ArrayList替代了。因为增删,查询效率都低。线程同步。100%延长
    元素不是很多,同时涉及增删与查询,建议使用ArrayList
             |--Set:元素是无序,元素不可以重复。
                       |--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。
                       |--TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树。
    共性方法
    Void clear() 清空集合
             移除此列表中的所有元素。
    boolean contains(Object o) 判断元素是否存在
             如果此列表中包含指定的元素,则返回 true
    boolean isEmpty() 判断集合是否为空
             如果此列表中没有元素,则返回 true
    int size() 获取集合长度
             返回此列表中的元素数。
    boolean retainAll(Collection<?> c) 取交集
             仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
             al1. retainAll(al2);   al1中只会保留和al2中相同的元素
    Iterator<E>iterator() 迭代器
             返回在此 collection 的元素上进行迭代的迭代器。
    Iterator it = al.iterator();
                       while(it.hasNext())
                       {
                                sop("next:"+it.next());
                       }
  • 相关阅读:
    实战DeviceIoControl 之五:列举已安装的存储设备
    在NT中直接访问物理内存
    实战DeviceIoControl 之三:制作磁盘镜像文件
    实战DeviceIoControl 之六:访问物理端口
    程序员的十层楼(转)
    Vista + VS2005 源代码绑定的问题
    敬告天下IT业主
    手动卸载windows服务
    古墓丽影9的截屏
    白领饮食十大“夺命”恶习(转)
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10887710.html
Copyright © 2020-2023  润新知