「java仓库代码先入先出」仓库为什么要先入先出
本篇文章给大家谈谈java仓库代码先入先出,以及仓库为什么要先入先出对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、求java写过库存管理的先进先出算法!
- 2、用java语言设计一个先进先先出的队列类
- 3、java list 中数据存储的顺序是 先进先出 还是 先进后出 如:
- 4、java编程 设计队列类。(先进先出)
求java写过库存管理的先进先出算法!
看看Queue接口吧。典型实现类ArrayDeque。
典型方法:
offer(e);//添加
poll();//移除首个
用java语言设计一个先进先先出的队列类
代码仅供参考,如有问题,欢迎追问!
Basket:
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
/**
* 定义装苹果的篮子
*
* @author stone
* @version 2013-05-21
*/
public class Basket {
// 篮子,能够容纳Integer.MAX_VALUE个苹果
BlockingQueueObject basket = new LinkedBlockingQueueObject(Integer.MAX_VALUE);
// 生产苹果,放入篮子
public void produce(Object obj) throws InterruptedException {
// put方法放入一个苹果,若basket满了,等到basket有位置
basket.put(obj);
}
// 消费苹果,从篮子中取走
public Object consume() throws InterruptedException {
// take方法取出一个苹果,若basket为空,等到basket有苹果为止(获取并移除此队列的头部)
return basket.take();
}
}
BaksetTest:
import org.apache.log4j.Logger;
public class BaksetTest {
static Logger logger = Logger.getLogger(BaksetTest.class);
static Basket basket = new Basket();
public static void main(String[] args) throws Exception {
try{
Consume con = new Consume(basket);
Thread thread = new Thread(con);
thread.start();
Integer num = 0;
while(true){//循环放入数据到队列
num++;
basket.produce(num);
Thread.sleep(1*1000);
if(num1000000) num =0;
}
} catch( Exception e ){
logger.error("error : ", e);
}
}
}
//消费线程,用来消费队列里堆积数据,此线程为阻塞状态
class Consume implements Runnable {
Logger logger = Logger.getLogger(BaksetTest.class);
Basket basket;
public Consume (Basket basket){
this.basket = basket;
}
@Override
public void run() {
try{
while(true){//等待从队列取出数据
System.out.println("取出:" + basket.consume());
}
} catch ( Exception e ){
logger.error("error : ", e);
}
}
}
java list 中数据存储的顺序是 先进先出 还是 先进后出 如:
list 是个接口 具体的顺序是看你实现的是LinkedList 还是 ArrayList 的还要看你怎么添加数据的
LinkedList 是链表 就是一个接着一个
ArrayList 则不一定了
比如
List lst = new ArrayListt();
lst.add("add");
lst.add("art");
lst.add("uio");
lst.add(1,"ert");
for (Object s : lst) {
System.out.println(s);
}
结果就是
add
ert
art
uio
java编程 设计队列类。(先进先出)
import java.util.Vector;
@SuppressWarnings({ "unchecked", "serial" })
public class Stat extends Vector {
public void push(Object x) {
super.add(x); // 向队尾添加组件
}
public Object pop() { // 队首元素出队(从队列删除)
Object x = super.elementAt(0); // 返回指定索引处的组件
super.removeElementAt(0); // 删除指定索引处的组件
return x;
}
public void remove() {
super.removeAllElements(); // removeAllElements()移除全部组件,并将其大小设置为零
}
public static void main(String[] args) throws java.io.IOException {
Stat s = new Stat();
s.push("123adfasf123");
s.push(123123132);
System.out.println(s.pop());
System.out.println(s.pop());
}
}
关于java仓库代码先入先出和仓库为什么要先入先出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。