java 查询list集合_java List集合

List集合包括四种类,分别是ArrayList、LinkedList、Vector、Stack。

ArrayList:元素的存储是顺序存储,可以根据数组的下标查询,查询速度快,但是在删除和插入元素时将慢,需要移动大量的元素。

public voidTest1()

{

ArrayList arrayList=new ArrayList<>();long startTime=System.currentTimeMillis();

arrayList.add(2);

arrayList.add(3);

arrayList.add("water");

arrayList.add("driver");

arrayList.add(999);

arrayList.add("angel");

arrayList.remove(0);

arrayList.remove(4);for(Object item : arrayList) {

System.out.println(item);

}long endTime=System.currentTimeMillis();

System.out.println("运行时间为:"+(endTime-startTime)+"ms");

}

上述例子中我试着读出其运行时间进行比较,实在太快了。

LinkedList:元素在其中存储是随机存储,首先说明LinkedList是一个双向链表,通过pre,element,next,每个元素都是由这3部分组成,它的优点在于删除,插入时只需要断开和连接删除位置的指针即可,不需要大量的移动元素。

public voidTest2()

{

LinkedList linkedList=new LinkedList<>();

linkedList.add(888);

linkedList.add(999);

linkedList.add("blue");

linkedList.add("sky");

linkedList.add("waiter");

linkedList.add("grass");

linkedList.add(1314);

linkedList.remove(1);

linkedList.remove(4);for(Object item : linkedList) {

System.out.println(item);

}

}

在这中间加一点迭代器的一些知识,既然是集合就会存在迭代的问题

public static voidmain(String[] args)

{

Collection c=new Vector<>();for(int i=0;i<10;i++)

{

c.add(i);

}

Iterator it=c.iterator();while(it.hasNext())

{

System.out.println(it.next());

}

}

在一个集合中,使用了iterator()方法,就返回了一个迭代器类型,hasNext()表示迭代器中是否还有元素,next()表示迭代器中的下一个元素。

当然上介绍的ArrayList和LinkedList集合类在多线程中都是不安全的,下面引入安全类Vector类:

public static voidmain(String[] args)

{

Collection c=new Vector<>();for(int i=0;i<10;i++)

{

c.add(i);

}

Iterator it=c.iterator();while(it.hasNext())

{

System.out.println(it.next());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值