package hashMap;
import java.util.ArrayList;
import d.Student;
/**
* 用ArrayList模拟栈操作
* @author 郑云飞
* @see 2010年8月14日
*/
public class Stack
{
ArrayList<Student> al=new ArrayList<Student>();
public Object peek()
{
return al.get(0);
}
public Object pop()//出栈
{
return al.remove(al.size()-1);
}
public void push(Student o)//进栈
{
al.add(o);
}
public void clear()//将栈置空
{
al.clear();
}
public boolean isEmpty()//判断栈是否是空
{
if(al.isEmpty())
{
return true;
}
else
{
return false;
}
}
public Object getIndex(int i)//返回指定下标出的值
{
return al.get(i);
}
}
package hashMap;
import d.Student;
/**
* 用ArrayList模拟栈操作
* @author 郑云飞
* @see 2010年8月14日
*/
public class StackTest
{
public static void main(String[] args)
{
Stack s1=new Stack();
s1.push(new Student("庄子",200));
s1.push(new Student("老子",200));
s1.push(new Student("梦子",200));
s1.push(new Student("荀子",200));
while(!s1.isEmpty())
{
System.out.println(s1.pop());//出栈输出内容
}
}
}
package hashMap;
/**
* 用ArrayList模拟栈操作
* @author 郑云飞
* @see 2010年8月14日
*/
public class Student
{
String name;
int age;
public Student(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "姓名:" +name+"年龄:"+age;
}
}
分享到:
相关推荐
- 数据库范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。 8. **问题解决技巧**: - 使用调试工具进行问题定位,如GDB、Visual Studio Debugger等。 - 排错思路:复现问题、查看日志、利用断点、打印...
2、写一个类用来模拟栈这种数据结构,要求底层 使用数组存储数据, 并给出相应的进栈和出栈的方法。MyStack int arr[]; int count;//栈中元素个数 public MyStack(int n){ arr = new int[n]; } boolean push(int ...
- 在子类构造方法中使用`super()`调用父类的构造方法时,必须作为第一条语句。 - **类的继承的好处**: - 继承允许子类继承父类的所有属性和方法,减少了代码冗余。 - 子类可以根据需要重写或添加新的方法,实现...
13. Java可移植性:Java的可移植性源于其“一次编写,到处运行”的特性,这得益于Java虚拟机(JVM)的存在。 14. Java语言特点:Java是区分大小写的,源文件名与public类名必须相同,扩展名为.java,且每个源文件中...
由于我们只有一个线程且无抢占,所以一次只能有一个函数在执行。因此,我们需要维护一个栈来保存当前正在运行的函数。栈顶的元素就是当前正在执行的函数。 当遇到一个新的函数开始运行的日志时,我们将该函数的 ID ...
- **`remove(Object o)`**:从此列表中移除第一次出现的指定元素(如果存在)。 - **`remove(int index)`**:删除指定位置的元素。 - **`set(int index, E element)`**:用指定元素替换此列表中指定位置上的元素。 -...
- `indexOf(Object o)`: 返回指定元素第一次出现的位置索引。 以上是对Java容器框架中的 `Collection` 集合的详细介绍,包括基本概念、接口方法以及 `List` 接口的深入讲解。这些知识点对于理解和应用Java集合框架...
第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关研究现状 2 1.2.1 在线认证检测平台开发现状 2 1.2.2 HTML5 3 1.2.3 Android 3 1.2.4 Android移动Web项目开发的三种解决方案:Native, Web和Hybrid优缺陷分析 4 ...
Java是一种广泛使用的高级编程语言,以其“一次编写,到处运行”的跨平台特性而著名。这份“java技术文档”集合了多个关键章节,旨在为初学者提供全面的学习资源。以下是各个章节主要内容的详细解释: 1. **第02章 ...
- 软件学院05级OOP第二次测验试题及答案.doc:这可能是关于面向对象编程的一次测试,包括类、对象、封装、继承、多态等概念。 - OOP是Java的核心,理解类的定义、对象的创建和销毁、属性与方法的封装、单一职责...
它的设计理念是“一次编写,到处运行”,这意味着编写好的Java代码可以在任何支持Java的平台上运行,无需重新编译。Java的语法与C++相似,但简化了许多复杂性,以提高安全性、可移植性和性能。 Java面试题通常涵盖...
`do...while`循环则先执行一次循环体再判断条件,确保循环体至少执行一次。 - `if...else`语句用于实现选择结构,根据条件执行不同的代码块。 - `continue`语句用于结束当前循环的剩余部分,直接进入下一轮循环。 ...
"Mock Exam 2.1"则表明这是第二次模拟考试的第一个版本。 描述中的信息与标题相同,进一步确认这是一个关于高级编程的考试资源,可能是Java编程语言,因为标签中明确提到了"Java"。 在"CIIC4010_F18_MockExam2.1-...
- 第一个字符必须是字母、下划线(_)、美元符号($)。 - 后续字符可以是字母、数字、下划线、美元符号。 - 区分大小写。 - 不得使用Java关键字作为标识符。 **3.4 数据类型** - **基本数据类型:** - 整型(int,...
- **特点**:适合一次写入多次读取的大文件存储。 - **架构**:包括NameNode(元数据管理)和DataNode(数据存储)。 ### 数据库 #### 数据库索引 - **概念**:加速数据检索的过程。 - **类型**:包括主键索引、...
- **冒泡排序**:重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 5. **线程和线程池** - 线程是程序执行流的基本单元。在一个程序中同时运行多个线程来执行不同的任务,称为多...
- **解析**:栈是一种特殊的线性表,只允许在一端(称为栈顶)进行插入和删除操作。 - **栈按"先进先出"组织数据**:不正确,栈遵循的是“后进先出”原则。 - **栈按"先进后出"组织数据**:正确答案,栈遵循的是...
- **关系型数据库**:理解ACID属性,事务处理,数据库设计中的范式理论(第一范式到第三范式)。 - **NoSQL数据库**:如MongoDB的文档数据库特性和分布式存储策略。 4. **操作系统**: - **进程与线程**:理解...
#### 第一章:Java基础概念 - **Java语言的执行方式**: - Java是一种编译型语言,同时也是一种解释型语言。首先,源代码需要通过编译器转换成字节码(.class文件),然后由Java虚拟机(JVM)解释执行这些字节码。...
【标题】"2019-CodeVS2:第二次尝试" 暗示这是一个关于编程竞赛或项目挑战的记录,可能是在2019年在CodeVS平台上进行的。CodeVS是一个在线编程竞赛平台,参与者可以在这里提升编程技能,解决各种算法问题。第二次...