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());
                   }

猜你喜欢

转载自www.cnblogs.com/AJPFX/p/10887710.html
今日推荐