集合
Collection (单列集合) List \ Set \ Queue
Queue(队列的数据结构)一边进一边出(先进先出)
Deque(双端队列的数据结构)
List
Vector
(底层是数组,实现了自动扩容,默认的初始容量是10,扩容1倍) 支持随机访问
get()
add()
addAll()
lastelement()
indexOf()
lastIndexof()
remove()
遍历Vector
1. for循环 get()
2. 增强for循环 实现了`Iterable`接口的都可以使用增强for循环
3. forEach(Consumer con)`
Vector vector = new Vector();
vector.forEach(new Consumer() {
public void accept(Object obj) { // obj代表vector里面的每一个元素
System.out.println(obj);
// if (obj instanceOf Student stu) {
// if (stu.getName.equals("zyj")) {
// vector.remove(obj);
// }
// }
}
});
4. 迭代器 iterator() 获取一个迭代器对象,指向集合第一个元素
next()获取当前的元素,并将迭代器指向下一个元素
hasNext()判断是否还有下一个元素
集合排序
1. 排序跟数组的排序类似,交换位置的方式发生改变`set(index, obj)`将index位的元素替换成obj
2. sort(Comparator com)
Vector vector = new Vector();
vector.sort(new Comparator() {
public int compare(Object o1, Object o2) {
return (int)o1 - (int)o2;
}
});
Stack
栈的数据结构,先进后出,是`Vector`的子类,在它的基础上扩展了一些方法
pop()删除并返回栈顶的元素
search(Object obj)返回从1开始的位置[1, size]
indexOf(Object obj)返回索引[0 ,size-1]
peek获取但不删除
push(Object obj)放到栈顶
Map(双列集合)