Stack and Vector

package com.uncle.myutil.testlist;
/**
 *
 Vector类
 1.java.util包
 2.是ArrayList集合的早期版本	(StringBuffer早期  StringBuilder后来)
 Vector底层也是利用(动态)数组的形式存储
 Vector是线程同步的(synchronized)  安全性高  效率低
 3.扩容方式与ArrayList不同
 默认是扩容2倍   可以通过构造方法创建对象时修改这一机制
 4.构造方法
 5.常用方法

 Stack类	栈
 1.java.util包
 2.构造方法只有一个无参数
 3.除了继承自Vacton类的方法外还有特殊的方法
 push(E e)将某一个元素压入栈顶(add())
 E = pop()将某一个元素从栈顶取出并删掉(E = remove())
 E = peek()查看栈顶的一个元素 不删除(get())
 boolean = empty()判断栈内元素是否为空(isEmpty())
 int = search()查找给定的元素在占中的位置(indexOf())
 4.中国象棋   悔棋
 栈中存储每一次操作的步骤
 撤销功能

 */

import java.util.Stack;
import java.util.Vector;

public class TestVector {
    
    
    public static void main(String[] args){
    
    
//        Vector<String> vector = new Vector<String>(4,4);
//        for(int i=1;i<=22;i++){
    
    
//            vector.add("a");
//            System.out.println(vector.size()+"--"+vector.capacity());
//            //有效元素个数       底层真实数组的容量
//        }

        Stack<String> stack = new Stack<String>();
        stack.push("a");
        stack.push("b");
        stack.push("c");
        System.out.println(stack);
        System.out.println(stack.peek());//c
        System.out.println(stack);
        System.out.println(stack.search("b"));//不是索引 是第几个
    }
}

Insert picture description here

Guess you like

Origin blog.csdn.net/m0_51945027/article/details/112843323