「java仓库代码先入先出」仓库为什么要先入先出

博主:adminadmin 2022-11-22 08:56:07 56

本篇文章给大家谈谈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仓库代码先入先出」仓库为什么要先入先出

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仓库代码先入先出和仓库为什么要先入先出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。