会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132847个问题

-------------------------------

package com.bjsxt;

import java.util.Stack;

public class StackTest {
    public static void main(String[] args) {
        //实例化栈容器
        Stack<String> stack = new Stack<>();
        //将元素添加到栈容器中
        stack.push("a");
        stack.push("b");
        stack.push("c");
        //判断栈容器是否为空
        System.out.println(stack.empty());
        //查看栈顶元素
        System.out.println(stack.peek());
        //返回元素在栈容器中的位置
        System.out.println(stack.search("c"));
        //获取栈容器中的元素
        String p1 = stack.pop();
        System.out.println(p1);
        String p2 = stack.pop();
        System.out.println(p2);
        String p3 = stack.pop();
        System.out.println(p3);
        System.out.println("---------------------");
        StackTest stackTest = new StackTest();
        stackTest.symmetry();
    }
    //匹配符号的对称性
    public void symmetry(){
        String str="...{.....[....(....)...]....}..(....)..[...].(.).";
        //实例化Stack
        Stack<String> stack = new Stack<>();
        //假设修正法
        boolean flag = true;//假设是匹配的
        //拆分字符串获取字符
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i); //取出每一个字符
            if(c == '{'){
                stack.push("}");
            }
            if(c == '['){
                stack.push("]");
            }
            if(c == '('){
                stack.push(")");
            }
            //判断符号是否匹配
            if(c == '}' || c == ']' || c == ')'){
                if(stack.empty()){
                    //修正处理
                    flag = false;
                    break;
                }
                String x = stack.pop();
                if(x.charAt(0) != c){
                    //修正处理
                    flag = false;
                    break;
                }
            }
        }
        if(!stack.empty()){
            //修正处理
            flag = false;
        }
        System.out.println(flag);
    }
}

这里的stack.push("}");是什么意思啊?


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 766楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO流技术 767楼

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayListTest2 {
    public static void main(String[] args) {
        //实例化ArrayList容器
        List<String> list = new ArrayList<>();


        //添加元素
        list.add("sxt");
        list.add("itbz");

        //向指定位置添加元素
        list.add(0,"wuhu");
        Object[] objects = list.toArray();
        System.out.println(Arrays.toString(objects));

        System.out.println("获取元素");
        String s = list.get(1);
        System.out.println(s);

        System.out.println("获取所有元素方式一");
        for(int i=0;i< list.size();i++){
            System.out.println(list.get(i));
        }

        System.out.println("获取所有元素方式二");
        for (String str:list) {
            System.out.println(str);
        }

        System.out.println("元素替换");
        String d = list.set(1, "dalao");
        System.out.println(d);

        System.out.println("根据索引位置删除元素");
        String remove = list.remove(1);
        System.out.println(remove);

        System.out.println("查找容器中元素第一次出现的索引位置");
        int sxt = list.indexOf("sxt");
        System.out.println(sxt);

        System.out.println("查找容器中元素最后一次出现的索引位置");
        int sxt1 = list.lastIndexOf("wuhu");
        System.out.println(sxt1);




    }
}


查找容器中元素第一次出现的索引位置

这里的返回值为-1,前面最开始不是添加过"sxt"了吗?


JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器 768楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 769楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术 770楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/Lambda表达式(旧) 777楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637