Connection
--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 集合特有的迭代器,List Iterator是Iterator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素。
因为会发生ConcurrentModificationException异常。
class linkedlist Demo
{
public static void main(String[] args)
{
LinkedList link=new LinkedList();
link.addFirst("java01");
link.addFirst("java02");
link.addFirst("java03");
link.addFirst("java04");
sop()
}
public static void sop(object obj)
{
system.out.println(obj);
}
}
}
//去除ArrayList集合中的重复元素
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java03");
Iterator it=al.iterator();
while(it.hasnext())
{
sop(it.next()+""...."+it.next());
}
}
public static void singleElement(ArrayList al)
{
//定义一个临时容器
ArrayList newAl= new ArrayList();
Iterator it=al.iterator();
while(it.hasNext())
{
object obj=it.next();
if(!newAl.contains(obj))
newAl.Add(obj);
}
}
}
|
|