JAVA提高教程(8)-认识List列表之Vector
时间:2011-04-07 csdn 老紫竹
Vector和ArrayList的最大区别就是Vector的主要集合方法是线程同步的。
1.package collection.lession8;
2.
3.import java.util.Arrays;
4.import java.util.Collection;
5.import java.util.Enumeration;
6.import java.util.Iterator;
7.import java.util.List;
8.import java.util.Vector;
9.
10./**
11. * 老紫竹JAVA提高教程(8)-认识List列表之Vector.<br>
12. * Vector和ArrayList的最大区别就是<br>
13. * Vector的主要集合方法是线程同步的.<br>
14. * <br>
15. * 注意:如下代码绝大部分和ArrayList代码完全相同<br>
16. * 只是把ArrayList替换为Vector
17. *
18. * @author 老紫竹 JAVA世纪网(java2000.net)
19. *
20. */
21.public class Lession8 {
22.
23. public static void main(String[] args) {
24. testNormal();
25. testSpecial();
26. // 一个最常见的错误
27. testForProblem();
28. // 测试Vector的特殊方法
29. testForVector();
30. }
31.
32. public static void testForVector() {
33. // 可以指定每次增加的容量尺寸
34. // 初始化为100个,每次增加12个
35. Vector v1 = new Vector(12, 12);
36. v1.add(1);
37. v1.add(2.34);
38. v1.add("abc");
39. showList(v1);
40.
41. // 显示容量
42. System.out.println("capicity=" + v1.capacity());
43.
44. // 可以复制数据到数组
45. Object[] anArray = new Object[v1.size()];
46. v1.copyInto(anArray);
47. System.out.println(Arrays.toString(anArray));
48.
49. // 可以设置尺寸
50. // 采用null进行位置填充
51. System.out.println("size=" + v1.size());
52. v1.setSize(16);
53. System.out.println("size=" + v1.size());
54. showList(v1);
55.
56. // 显示容量
57. // 可以看到容量已经增加了
58. System.out.println("capicity=" + v1.capacity());
59.
60. // 获得枚举
61. Enumeration en = v1.elements();
62. // 下面是一些相关的操作,我就不一个一个的写了
63. //
64. // public synchronized E firstElement();
65. // public synchronized E lastElement();
66. // public synchronized void setElementAt(E obj, int index) ;
67. // public synchronized void removeElementAt(int index);
68. // public synchronized void insertElementAt(E obj, int index);
69. // public synchronized void addElement(E obj);
70. // public synchronized boolean removeElement(Object obj);
71. // public synchronized void removeAllElements();
72. }
73.
74. public static void testNormal() {
75. // -------------------------------------------------------
76. // 声明一个列表
77. // 允许放入任何数据
78. // -------------------------------------------------------
79. Vector list = new Vector();
80. // 放入整数
81. // 当然你用 new Integer(1)也可以
82. list.add(1);
83. // 放入字符串
84. list.add("abc");
85. // 放入浮点数
86. list.add(new Float(1.11));
87. // add会将数据保存到列表的尾部
88. showList(list); // 1, abc, 1.11]
89.
90. // 下面我们在列表的头部增加数据
91. list.add(0, 2);
92. list.add(0, "bcd");
93. list.add(0, new Double(2.34));
94. // 列表可以指定插入的位置
95. // 0 是头部第一个位置,所以数据都逐个放到最前面了
96. showList(list); // [2.34, bcd, 2, 1, abc, 1.11
|