集合框架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中的一些特有方法以及如何正
序倒序的取出集合中的元素,以后对我学习各种算法会有很大的帮助,努力,加油!~
- 集合框架Vector中的枚举以及LinkedList的学习总结
- 集合框架-----Vector中的枚举
- 黑马程序员_day14 集合(迭代器,Vector中的枚举,LinkedList,HashSet)
- 集合框架——Vector中的枚举
- Java集合框架里ArrayList Vector和LinkedList的区别
- Java基础---集合框架---迭代器、ListIterator、Vector中枚举、LinkedList、ArrayList、HashSet、TreeSet、二叉树、Comparator
- API--集合框架Vector集合,linkedList,ArrayList,HashSet集合
- 集合中的List以及其三个实现类ArrayList,LinkedList,Vector
- List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源码解析
- 集合ArrayList,LinkedList,Vector的区别
- (9) java ---- 集合框架图 ArrayList,LinkedList,Vector各自的性能特点及区别
- Java集合框架——List下ArrayList、Vector、LinkedList的简单分析
- 集合---ArrayList,LinkedList,Vector
- 总结:集合框架(LinkedList,ArrayList,HashSet)
- 集合框架LinkedList与Set总结
- 集合框架 Vector LinkedList ArrayList HashSet LinkedHashSet TreeSet
- java集合框架之List------03_02 ArrayList Vector LinkedList
- 集合框架——List类(ArrayList、LinkedList、Vector)
- java学习总结——第十七天
- iOS查看UIView的视图树
- ant安装
- [记忆化搜索] zoj 3681 E - Cup 2
- [Hadoop源码解读](四)MapReduce篇之Counter相关类
- 集合框架Vector中的枚举以及LinkedList的学习总结
- 《深入理解androidII》PackageManagerService学习草稿
- C#使用XmlSerializer序列化对象
- [Hadoop源码解读](五)MapReduce篇之Writable相关类
- Android 程序框架设计
- 如何查看某个角色被授予的权限Oracle
- 自动布局_2
- Marklogic cts:element-query/cts:not-query 的问题
- LeetCode-004 Add Two Numbers