------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
集合框架:collection
--List:元素是有序的,元素可以重复,因为该集合体系有索引
--ArrayList:底层使用数组结构;查询速度很快,增删较慢,线程不同步
--LinkList:底层使用链表结构;增删速度快,查询速度慢
--Vector:底层是数组数据结构,线程同步
--Set:元素无序,不可以重复
--HashSet:底层数据结构是哈希表
--TreeSet
这些容器对数据的存储方式都有所不同,所以将这些存储方式称之为数据结构
1.collection集合中的增删改查
import java.util.*;
class CollectionDemo
{
public static void main(String[] args)
{
ArrayList al=new ArrayList(); //创建一个集合容器
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
//获取个数,集合长度。
sop("size:"+al.size());
//打印集合
sop(al);
//删除元素
al.remove("java02");
//打印集合
sop(al);
//判断元素
sop(al.contains("java03"));
sop(al.isEmpty());
}
public static void method_2()
{
ArrayList al1=new ArrayList();
al1.add("java01");
al1.add("java02");
al1.add("java03");
al1.add("java04");
ArrayList al2=new ArrayList();
al2.add("java01");
al2.add("java02");
al2.add("java05");
al2.add("java06");
al1.retainAll(al2); //取交集,al1中只保存和al2中相同的元素
al1.removeAll(al2); //将al1中与al2相同的元素去掉
sop("al1:"+al1);
sop("al2:"+al2);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
元素的取出:Iterator 迭代器
import java.util.*;
class CollectionDemo2
{
public static void main(String[] args)
{
getMethod();
}
public static void getMethod()
{
ArrayList al=new ArrayList(); //创建一个集合容器
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
al.add("java04");
Iterator it=al.iterator(); //获取迭代器,用于取出集合中的元素
while(it.hasNext()) //判断是否有元素
{
sop(it.next()); //打印出元素
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
迭代器的for循环写法:
for(Iterator it=al.iterator;it.hasNext(); )
{
<span style="white-space:pre"> </span>sop(it.next());
}
Vector的枚举方法
import java.util.*;
class VictorDemo
{
public static void main(String[] args)
{
Vector va=new Vector();
va.add("java01");
va.add("java02");
va.add("java03");
va.add("java04");
Enumeration en=va.elements(); //枚举获取元素
while(en.hasMoreElements())
{
System.out.println(en.nextElement());
}
}
}
LinkedList :特有方法:addFirst,addLast;getFirst,getLast,获取元素,但不删除元素;removeFirst,removeLast获取元素,元素被删除
但当集合为空的时候,remove 和get都会产生异常,所以在JDK1.6有了替代办法,用offer替代add,用peek替代get,用poll替代remove,此时集合如果为空,返回null
import java.util.*;
class LinkListDemo
{
public static void main(String[] args)
{
LinkedList li=new LinkedList(); //新建一个LinkedList对象
li.addFirst("java01"); //将元素添加到第一个位置
li.addFirst("java02");
li.addFirst("java03"); //将元素添加到第一个位置
li.addFirst("java04");
sop(li.removeFirst());
/*
while(!li.isEmpty())
{
sop(li.removeFirst());
}
*/
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}