转自:
下文笔者将讲述Collection接口的相关详解说明,如下所示:
Collection接口简介
Collection接口是集合类的一个顶级接口
直接继承此接口有List和Set
如下结构所示:
Collection
|--List:元素是有序的,元素可以重复。因为该集合体系有索引。
|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。
|--Set:元素是无序,元素不可以重复。
List常用方法如下所示:
增: add(index,element); addAll(index,Collection); 删:remove(index); 改:set(index,element); 查: get(index): subList(from,to); listIterator(); int indexOf(obj):获取指定元素的位置。 ListIterator listIterator(); List集合特有的迭代器。ListIterator是Iterator的子接口。
迭代器注意事项:
1.迭代时,不可以使用集合对象方法操作集合中的元素,会产生ConcurrentModificationException异常
2.迭代时,只能使用迭代器已迭代过的元素
3.迭代器,拥有三个方法,分别为对元素判断,取出,删除操作
4.如需对迭代器进行其它操作,则需使用其子接口ListIterator
例:
package com.java265.other;
import java.util.*;
class TestClass
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method()
{
ArrayList al = new ArrayList();
//添加元素
al.add("java265.com-1");
al.add("java265.com-2");
al.add("java265.com -3");
sop("原集合是:"+al);
//在指定位置添加元素。
al.add(1,"java265.com-100");
//删除指定位置的元素。
//al.remove(2);
//修改元素
//al.set(2,"java265.com--22222");
//通过下标获取元素
sop("get(1):"+al.get(1));
sop(al);
//获取所有元素。
for(int x=0; x