欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

集合第七发练习之利用ArrayList做栈、队列,第七发arraylist

来源: javaer 分享于  点击 42581 次 点评:49

集合第七发练习之利用ArrayList做栈、队列,第七发arraylist


栈:后进先出。

队列:先进先出。

利用这个核心思想,结合集合的add和remove方法做的栈和队列如下代码所示:

主类(t1()和t2()分别演栈和队列):

package cn.hncu.mySet2;

import java.util.Iterator;

import cn.hncu.set.Person;

public class TestDemo {
	public static void main(String[] args) {
		t1();
//		t2();
		
		
	}

	private static void t1() {
		Person p1=new Person("01", "张三", 20);
		Person p2=new Person("02", "李四", 21);
		Person p3=new Person("03", "王五", 22);
		Person p4=new Person("04", "mis", 17);
		
		MyStack stack=new MyStack();
		stack.in(p1);
		stack.in(p2);
		stack.in(p3);
		
		System.out.println(stack.out());
		System.out.println(stack.out());
		System.out.println(stack.out());
		System.out.println(stack.out());
		System.out.println(stack.out());
	}
	private static void t2() {
		Person p1=new Person("01", "张三", 20);
		Person p2=new Person("02", "李四", 21);
		Person p3=new Person("03", "王五", 22);
		Person p4=new Person("04", "mis", 17);
		MyQueue queue=new MyQueue();
		queue.in(p1);
		queue.in(p2);
		queue.in(p3);
		queue.in(p4);
		System.out.println(queue.out());
		System.out.println(queue.out());
		System.out.println(queue.out());
		System.out.println(queue.out());
		System.out.println(queue.out());
		
	}

}
栈类:

package cn.hncu.mySet2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.Stack;

public class MyStack {
	private LinkedList mystack=new LinkedList();
	public void in(Object obj){
		mystack.add(obj);
	}
	public Object out(){
		if(mystack.isEmpty()){
			return null;
		}
		return mystack.removeLast();
	}
	
	public boolean isEmpty(){
		return mystack.isEmpty()?true:false;
	}
	
}

队列类:

package cn.hncu.mySet2;

import java.util.LinkedList;

public class MyQueue {
	private LinkedList list=new LinkedList();
	public void in(Object obj){
		list.add(obj);
	}
	
	public Object out(){
		if(list.isEmpty()){
			return null;
		}
		return list.remove(0);
	}
	public boolean isEmpty(){
		return list.isEmpty()?true:false;
	}
}
person类:

package cn.hncu.mySet2;

public class Person {
	private String Sno;
	private String name;
	private int age;
	public Person(String sno, String name, int age) {
		super();
		Sno = sno;
		this.name = name;
		this.age = age;
	}
	public String getSno() {
		return Sno;
	}
	public void setSno(String sno) {
		Sno = sno;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Person [Sno=" + Sno + ", name=" + name + ", age=" + age + "]";
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((Sno == null) ? 0 : Sno.hashCode());
		result = prime * result + age;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Person other = (Person) obj;
		if (Sno == null) {
			if (other.Sno != null)
				return false;
		} else if (!Sno.equals(other.Sno))
			return false;
		if (age != other.age)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}
	
}




相关文章

    暂无相关文章

用户点评