zoukankan      html  css  js  c++  java
  • 《java入门第一季》之LinkList模拟桟结构案例

    需求:请用LinkedList模拟栈数据结构的集合,并测试

    题目的意思是:

    你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟。


    定义一个类叫MyStack代码如下:

    package cn.itcast_05;
    
    import java.util.LinkedList;
    
    /**
     * 自定义的栈集合
     * 
     * @author 风清扬
     * @version V1.0
     */
    public class MyStack {
    	private LinkedList link;//定义一个LinkedList类型的变量 link,定义引用类型的变量
    
    	public MyStack() {
    		link = new LinkedList();//外界一创建MyStack的对象就执行这里的语句。在底层创建产生LinkedList对象即link对象。
    	}
    
    	public void add(Object obj) {
    		link.addFirst(obj);//外界调用这里,底层实际上是做addFirst添加。LinkedList类下面的方法:public void addFirst(E e)将指定元素插入此列表的开头。
    	}
    
    	public Object get() {
    		return link.removeFirst();
    		//LinkedList类下面的方法:public Object removeFirst()移除并(返回)此列表的第一个元素。返回的是object类型的
    	}
    
    	public boolean isEmpty() {//LinkedList类下面的方法:boolean isEmpty()如果列表不包含元素,则返回 true。 
    		return link.isEmpty();
    	}
    }
    
    而我们自定一的类可以直接使用了。代码写了出来如下:

    package cn.itcast_05;
    
    /*
     * MyStack的测试
     * public void addFirst(E e)将指定元素插入此列表的开头。
     * public E removeFirst()移除并(返回)此列表的第一个元素。
     * LinkedList的这两个方法与桟有关
     * 
     */
    public class MyStackDemo {
    	public static void main(String[] args) {
    		// 创建集合对象
    		MyStack ms = new MyStack();
    
    		// 添加元素
    		ms.add("hello");
    		ms.add("world");
    		ms.add("java");
    		
    		while(!ms.isEmpty()){
    			String s = (String) ms.get();
    			System.out.println(s);//字符串
    		}
    	}
    }
    



  • 相关阅读:
    Windows10如何删除“极速输入法”?
    python 递归实现 冒泡排序
    leetcode 912
    python 快速排序
    python 选择排序
    python 使用递归法对整数进行因数分解
    用函数嵌套定义和递归实现帕斯卡公式C(n,i) = C(n-1, i) + C(n-1, i-1), 进行组合数C(n,i)的快速求解。
    L2-3 清点代码库 (25 分)- 2021 天梯赛
    L2-2 病毒溯源 (25 分)
    快速幂
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299783.html
Copyright © 2011-2022 走看看