在collection里面有很多的子接口,其中以list和set最为常用。
它们分别有什么特点呢?
List:元素是有序的,元素可以重复。因为该集合体系有索引。
添加成员:可以使用add方法()向列表的尾部添加指定的元素(可选操作),另外使用add(int index, E element) 方法可以在列表的指定位置插入指定元素(可选操作)。addAll(Collection<? extends E> c) 添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。allAll意思就是可以讲一个集合数组添加到另一个集合的尾部。
删除成员:要删除一个list集合中的元素可以通过remove()方法,clear()清空集合。
替换成员:要替换一个list集合中的某个成员可以通过set方法。
获取成员:可以使用get(int index)方法来获取一个指定的成员。通过list.size属性可以获取到list集合中的元素个人,然后通过for循环就能够获取到所有的集合元素。另外也可以使用迭代器(Iterator)来遍历集合。
获取某个成员的位置:可以使用indexof(Object o)返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
获取一个子列表:subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
在对同一组集合进行操作时,不能同时使用多种方式进行操作,比如但你使用集合的方法跟迭代器同时操作同一组集合时会产生一个并发修改异常(java.util.ConcurrentModificationException)。
特有的迭代器:ListIterator(列表迭代器),它是Iterator迭代器的子接口。
因为在迭代时,不能通过集合对象的方法操作集合中的元素,因为会发生上面提到过的并发修改异常,
所以在迭代器使用时,只能用迭代器的方法来操作元素,可以迭代器的方法有限,不能对元素进行修改,添加等。
这时候就需要用到ListIterator。 这个接口只能通过List集合的listIterator方法获取到。
Set:元素是无序的,元素不可以重复,该集合体系没有索引。
嘿嘿,自己边看教程边记录下来的, 留着以后复习。。。。 |