`
endual
  • 浏览: 3566331 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 栈(面试够了的)

 
阅读更多

package endual;

public class Stack {

private int top = -1 ; //无数据的时候为-1,数据从0开始
private int size = 0 ; //当前的栈中的数据个数
private int capacity = 10 ; //当前栈的默认存储的个数
private Object[] objs ;

public Stack() {

this.objs = new Object[capacity] ;
}

public int size() {

int temp = this.size ;

return temp ; //返回当前的栈的个数


}

//添加一个数据
public void push(Object obj) {

//先判断下当前栈是不是满了
this.size = this.size() ;

//判断下这个容量是不是超过了当前栈的容量
//如果是的话
if (this.size == this.capacity) { //当前的栈容量已经达到了当前栈的容量了,那么要进行扩充

this.capacity = this.capacity + 10 ; //每次扩充都加10的容量
//那么要创建一个新的数组了,然后将旧的数组赋值给新的数组了
Object[] tempObjs = new Object[this.capacity] ;
for (int i=0; i < objs.length; i++) {

tempObjs[i] = this.objs[i] ;

}

this.top++ ; //栈顶的个数加1
tempObjs[this.top] = obj ;
this.objs = tempObjs ;

}

//如果不是的话
else {

this.top++ ;
this.objs[top] = obj ;

}

this.size++ ; //这个是当前栈的里面的数据个数


}

//拉出来一个数据

public void poll() {

if (this.size == 0) {

System.out.println("栈为空");
return ;
}

Object o = null ;
this.objs[this.top] = o ;
this.top-- ;
this.size-- ;

}

//遍历栈
public void bush() {

for (int i=0; i < this.top+1; i++) {

System.out.println(this.objs[i]);
}

}



}

分享到:
评论

相关推荐

    java 栈的实现和应用

    Java栈是一种基于后进先出(LIFO)原则的数据结构,它在计算机科学和编程中具有广泛的应用。本文将深入探讨Java中栈的实现以及其在实际应用中的使用。 首先,我们来理解栈的基本概念。栈是一种特殊类型的线性数据...

    JAVA面试资料JAVA面试资料 JAVA面试资料 JAVA面试资料

    JAVA面试资料JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA...

    2023黑马面试宝典-Java面试宝典大全-java面试宝典黑马

    7. **JVM**:Java虚拟机是Java程序运行的基石,理解内存模型(堆、栈、方法区)、垃圾回收机制(GC)、类加载过程、性能优化等,能展现对Java运行原理的深入理解。 8. **Spring框架**:作为最流行的Java企业级应用...

    Java面试题2022

    5. **JVM内存管理**:面试官常常会询问Java内存模型,如堆内存、栈内存、方法区、本地方法栈,以及垃圾回收机制(GC)。理解对象的生命周期和内存分配,以及如何调优JVM参数,对于解决性能问题至关重要。 6. **IO流...

    Java面试汇总.pdf+总结全面+八股文

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Java 高频面试题。...

    Java经典面试题库.zip

    120个Java经典面试题和答案(上).pdf 120个Java经典面试题和答案(下).pdf Java程序员面试笔试宝典.pdf Java程序员面试笔试真题与解析 .pdf Java基础方面.pdf 应聘Java笔试时可能出现问题及其答案.pdf 线程编程...

    java-面试指北PDF版本(最新)

    【Java 面试指北】是一份针对Java求职者精心编写的面试指南,涵盖了从基础到高级的各种Java技术和面试技巧。这份PDF包含了多个主题,旨在帮助应聘者全面准备Java开发岗位的面试。 1. **如何成为一个合格的程序员?*...

    2024 Java面试宝典合集

    这份"2024 Java面试宝典合集"无疑是准备Java求职面试者的宝贵资源。它涵盖了多个关键领域,包括Spring框架、并发编程、Java核心知识以及面试策略等。下面我们将详细探讨这些知识点。 1. **Spring Boot面试题**:...

    “java高分面试指南”-25分类227页1000+题50w+字解析.pdf

    指南中对Java所涉及的数据结构进行了分类讲解,如线性表、链表、栈、队列、图和树等,并且分析了每种数据结构的特性和应用场景,帮助开发者在面试中展示对数据组织和管理的深刻理解。 类与对象的关系是Java编程中的...

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    java面试八股文各类面试题

    在准备Java面试时,了解和掌握一系列核心知识点是至关重要的。以下是一些基于标题和描述中的关键领域,如MyBatis、Spring、Redis、多线程、网络编程以及面试题库的重要知识点: 1. **Java基础**:Java是面试的基础...

    Java程序员面试宝典

    《Java程序员面试宝典》主要内容简介:目前许多开发者对Java语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往使出浑身解数,采用各种形式的面试考察求职...

    Java岗面试核心MCA版.pdf

    Java岗面试核心MCA版.pdf Java基础知识点 1. Java概述:Java是一种面向对象的编程语言,具有跨平台性, Java程序可以在任何支持Java的平台上运行。 2. 什么是Java?Java是一种高级的编程语言,能够开发出独立...

    java面试宝典2018版

    《Java面试宝典2018版》是针对Java开发者准备面试的重要参考资料,它涵盖了Java编程语言、Java虚拟机(JVM)、并发编程、框架、设计模式等多个关键领域的重要知识点。这本书旨在帮助Java程序员深入理解技术原理,...

    java面试基础

    对于JVM,面试者需要理解堆内存、栈内存、方法区、本地方法栈的划分,以及GC的分代理论和不同垃圾收集器的工作方式。深入理解内存泄漏和性能调优也是面试中的高分项。 设计模式是软件工程的基石,面试中常出现的有...

    Java高级面试题整理及答案.md

    Java经典高级2023面试题大全带答案.pdf 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题,0积分直接下载

    java栈实现计算器中缀表达式

    java数字栈和符号栈模拟计算器(中缀表达式) “计算中缀表达式”可以称得上是一个特别经典的关于栈的算法题,几乎在所有数据结构教材中都会涉及,而且很多公司面试或者笔试的时候都会把这道题作为一个考察点。可以说...

    java常见面试题汇总

    java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见...

    2017java面试题

    4. **内存管理与垃圾回收**:理解Java虚拟机(JVM)的工作原理,特别是堆内存和栈内存的区别,以及垃圾回收机制。 5. **多线程**:涉及Thread类、Runnable接口、同步机制(synchronized关键字、wait()、notify()和...

    交通银行Java专业面试题

    【交通银行Java专业面试题解析】 在准备交通银行的Java专业面试时,了解常见的Java编程概念和技术至关重要。交通银行作为一家国际知名的金融机构,其技术面试通常会涵盖Java的基础知识、面向对象编程、并发处理、...

Global site tag (gtag.js) - Google Analytics