LinkedList模拟队列
2020-04-20 本文已影响0人
一花一世界yu
/*
使用LinkedList,模拟队列,模拟流水线生产矿泉水添加瓶盖.
封装起来,真正的队列模式
*/
import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Objects;
public class HomeWork {
public static void main(String[] args) {
//创建瓶子对象
Bottle bottle1 = new Bottle("农夫山泉", 1);
Bottle bottle2 = new Bottle("农夫山泉", 2);
Bottle bottle3 = new Bottle("农夫山泉", 3);
//模拟队列得存储过程
//入
Processed.putInQueue(bottle1);
Processed.putInQueue(bottle2);
Processed.putInQueue(bottle3);
//出
Processed.outQueue();
Processed.outQueue();
Processed.outQueue();
}
}
class Bottle{
private String name;
private int id;
public Bottle(String name, int id) {
this.name = name;
this.id = id;
}
@Override
public String toString() {
return "bottle{" +
"name='" + name + '\'' +
", id=" + id +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Bottle bottle = (Bottle) o;
return id == bottle.id &&
Objects.equals(name, bottle.name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
class Processed{
private static LinkedList<Bottle> bottles = new LinkedList<>();
public static void putInQueue(Bottle bottle1){
bottles.offer(bottle1);
}
public static void outQueue(){
System.out.println(bottles.poll());
}
}