集合框架Vector中的枚举以及LinkedList的学习总结

来源:互联网 发布:300英雄台词软件 编辑:程序博客网 时间:2024/05/05 04:57


在写内容之前首先补充一个问题,ArrayList()是构造一个初始容量为10的空列表。那么当所存储的元素长度超

10以后,则会new一个新的数组,长度为50%增加,也就是说为15,然后把原来数组中的元素拷贝到新数组中,然后

才会把新元素添加进去,也就是可变长度数组。也就是而Vector原理也是类似的,只是它的长度为100%增加,所以在

v1.2版本后被替代已经不用了,但是它还有一些特殊的方法值得学习,下面来演示一下。

import java.util.*;public class Test018 {public static void main(String[] args) {// TODO Auto-generated method stubmethod_1();}public static void method_1(){Vector v = new Vector();v.addElement("java01");v.addElement("java02");v.addElement("java03");v.addElement("java04");Enumeration en =v.elements();while(en.hasMoreElements()){System.out.println(en.nextElement());}}}
枚举就是Vector特有的取出方式。其实枚举和迭代是一样的,因为枚举的名称以及方法的名称都过长,所以被迭

代器取代了。现在介绍枚举的目的是因为 I / O中有一个对象用到了枚举,所以现在做一下简单的介绍。

在LinkedList中有一些特有的方法,下面来做一下简单的演示,可以不用迭代器取出元素。

import java.util.LinkedList;public class Test019 {public static void main(String[] args) {// TODO Auto-generated method stubmethod_1();}public static void method_1(){LinkedList link = new LinkedList();link.addFirst("java01");link.addFirst("java02");link.addFirst("java03");link.addFirst("java04");//sop(link.removeFirst());//sop(link.removeFirst());while(!link.isEmpty()){//sop(link.removeLast()); 正序取出元素,但是元素被取出后会被删除sop(link.removeFirst()); //倒叙取出元素,但是元素取出后会被删除 }}public static void sop(Object obj){System.out.println(obj);}}

在LinkedList中特有方法个别列举如下:

1.添加元素:addFirst();    addLast();

2.获取元素,但不是删除元素(如果集合为空,会出现NoSuchElementException)getFirst();   getLast();

3.获取元素,但是元素被删除(如果集合为空,出NoSuchElementException)removeFirst();   removeLast(); 


但是在JDK1.6中出现了替代的方法。

1.添加元素:offerFirst(); offerLast();

2.获取元素,但不是删除元素(如果集合中没有元素,会返回null)peekFirst(); peekLast();

3.获取元素,但是元素被删除(如果集合中没有元素,会返回null)pollFirst(); pollLast(); 



通过对Vector的枚举的学习,让我对枚举有了初步的认识,并且学习了LinkedList中的一些特有方法以及如何正

序倒序的取出集合中的元素,以后对我学习各种算法会有很大的帮助,努力,加油!~




0 0
原创粉丝点击