Java常用类(Vector)

2

Java常用类(Vector)

  今天给小伙伴们介绍Vector类,Vector是Java专门用于处理动态数组的类,和C++中的vector容器相同。里面也内置了许多常用的算法,在刷题时常常使用它。

Vector类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package demo01;

import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;

public class VectorClass {

//foreach循环,是一种简单的增强for循环,格式是for(类型名 变量名: 数组/集合),意思是逐一从数组或者集合中取出元素赋值给变量
public static void print(Vector<Integer> v) {
for (int i: v) {
System.out.print(i + " ");
}
System.out.println();
}
public static void main(String[] args) {
Vector<Integer> v = new Vector<>();
//public boolean addAll(Collection<? extends E> c) 将集合c中的元素加入到原集合中
//public boolean addAll(int index, Collection<? extends E> c) 在指定位置处将集合c中的元素加入到原集合中
//public synchronized boolean add(E e) 向动态数组尾部添加元素
//public void add(int index, E element) 在指定位置处添加元素
v.add(20);
v.add(0, 10);
v.add(30);
System.out.print("初始时动态数组v:");
print(v);

//public synchronized int capacity() 查看动态数组的容量
System.out.println("动态数组v的容量为:" + v.capacity());
//public synchronized int size() 查看动态数组的大小
System.out.println("动态数组v的大小为:" + v.size());

//public boolean contains(Object o) 查看动态数组中是否存在元素
System.out.println("动态数组v是否包含元素20:" + v.contains(20));
System.out.println("动态数组v是否包含元素40:" + v.contains(40));

//public synchronized E get(int index) 获取动态数组对应索引元素
System.out.println("动态数组v中索引为1的元素是:" + v.get(1));

//public int indexOf(Object o) 从初始位置开始查找元素对应的索引
System.out.println("动态数组v中第一个元素10的索引为:" + v.indexOf(10));
//public synchronized int indexOf(Object o, int index) 从指定位置开始查找元素对应的索引
System.out.println("动态数组v中从索引1开始查找的第一个元素10的索引为:" + v.indexOf(10, 1));

//public synchronized int lastIndexOf(Object o) 从最后位置开始向前查找元素对应的索引
System.out.println("动态数组v中最后一个元素20的索引为:" + v.lastIndexOf(20));
//public synchronized int lastIndexOf(Object o, int index) 从指定位置开始向前查找元素对应的索引
System.out.println("动态数组v中从索引0开始查找最后一个元素20的索引为:" + v.lastIndexOf(20, 0));

//public synchronized E firstElement() 获取动态数组第一个元素
System.out.println("动态数组v中第一个元素是:" + v.firstElement());
//public synchronized E lastElement() 获取动态数组最后一个元素
System.out.println("动态数组v中最后一个元素是:" + v.lastElement());

//public synchronized E set(int index, E element) 修改动态数组指定位置元素
v.set(1, 15);
System.out.print("将索引1处改为15时,动态数组v:");
System.out.println(v);

//public synchronized Object[] toArray() 将动态数组元素转换为数组
Object[] array = v.toArray();
System.out.print("将动态数组转换为普通数组array:");
for (Object i: array) {
System.out.print(i + " ");
}
System.out.println();

//public synchronized boolean removeElement(Object obj) 移除动态数组指定元素
v.removeElement(10);
System.out.print("移除10时,动态数组v:");
System.out.println(v);

//public synchronized E remove(int index) 移除动态数组指定索引元素
v.remove(1);
System.out.print("移除索引1的元素,动态数组v:");
System.out.println(v);

//public void clear() 清空动态数组
v.clear();
System.out.print("移除所有元素后,动态数组v:");
System.out.println(v);

//public synchronized boolean isEmpty() 判断动态数组是否为空
System.out.println("动态数组v是否为空:" + v.isEmpty());
System.out.println("动态数组v的容量为:" + v.capacity());
System.out.println("动态数组v的大小为:" + v.size());

//public static <T> boolean addAll(Collection<? super T> c, T... elements) Collections静态方法,向集合中添加元素
Collections.addAll(v, 20, 10, 40, 30);
System.out.print("添加元素后动态数组v:");
System.out.println(v);

//public synchronized void sort(Comparator<? super E> c) 对动态数组进行排序,排序规则要创建比较器对象
v.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
System.out.print("从小到大排序后动态数组v:");
System.out.println(v);

//public static void shuffle(List<?> list) 打乱动态数组中的元素
Collections.shuffle(v);
System.out.print("打乱元素后动态数组v:");
System.out.println(v);
}
}

1

Java小结

  当然了Vector的相关操作还有很多很多,在这里也不可能一一讲解,但是常用的一些操作都已经介绍,尤其是isEmpty,size,add,contains,get,indexOf索引和遍历这些操作,是笔试,面试中的重中之重,有了Vector容器,使得我们写代码时更加方便,请小伙伴们务必放在心上。

-------------本文结束感谢您的阅读-------------
0%