Ⅰ 怎樣用java代碼實現一個隊列
class Stack<T> {
private Vector<T> v;
public Stack(){
v = new Vector<T>();
}
public T pop(){
if (v.size()==0) return null;
return v.get(v.size()-1);
}
public void push(T t){
v.add(t);
}
public boolean isEmpty(){
return v.size()==0;
}
}
class Queue<T>{
private Vector<T> v;
public Queue(){
v = new Vector<T>();
}
//入隊列
public void enqueue(T t){
v.add(t);
}
//出隊列
public T dequeue(){
if (v.size()==0) return null;
return v.get(0);
}
public boolean isEmpty(){
return v.size() == 0;
}
}
Ⅱ java中秒殺使用的隊列
首先說 隊列這種數據結構你應該了解吧 。
可以用JDK自帶的 或者自己實現的也行,你問的如何實現隊列是指的隊列這中數據結構? 如果是 ,那你還是自己看數據結構那本書,原理都一樣 跟語言無關, 你可用JDK自帶的幾種隊列 查看JDKAPI文檔 實現了Queue介面的各種隊列基本都有,比如 線程安全的 ConcurrentLinkedQueue 這個是一個無界的線程安全的隊列 或者 ArrayBlockingQueue 這個隊列實現是一個有界阻塞隊列 都能夠實現你說的 或者 你用非線程安全的也成 只不過你自己控制線程的安全性就好了;.
Ⅲ 在java中,什麼是隊列
好比現實生活中排隊先進先出
Ⅳ 用java實現循環隊列
簡單寫了下,希望你能看明白
import java.util.ArrayList;
public class SeqQueue {
ArrayList<String> list;
public SeqQueue() {
list = new ArrayList<String>();
}
public String getFirst() {
if (!list.isEmpty()) {
String s = list.get(0);
list.remove(0);
return s;
}
return null;
}
public void insertLast(String s) {
list.add(s);
}
public static void main(String[] args) {
SeqQueue seq = new SeqQueue();
seq.insertLast("111");
seq.insertLast("222");
seq.insertLast("333");
System.out.println(seq.getFirst());
System.out.println(seq.getFirst());
System.out.println(seq.getFirst());
}
}
Ⅳ java中怎麼實現隊列
public class Queue<E> {
private Object[] data=null;
private int maxSize; //隊列容量
private int front; //隊列頭,允許刪除
private int rear; //隊列尾,允許插入
//構造函數
public Queue(){
this(10);
}
public Queue(int initialSize){
if(initialSize >=0){
this.maxSize = initialSize;
data = new Object[initialSize];
front = rear =0;
}else{
throw new RuntimeException("初始化大小不能小於0:" + initialSize);
}
}
//判空
public boolean empty(){
return rear==front?true:false;
}
//插入
public boolean add(E e){
if(rear== maxSize){
throw new RuntimeException("隊列已滿,無法插入新的元素!");
}else{
data[rear++]=e;
return true;
}
}
//返回隊首元素,但不刪除
public E peek(){
if(empty()){
throw new RuntimeException("空隊列異常!");
}else{
return (E) data[front];
}
}
//出隊
public E poll(){
if(empty()){
throw new RuntimeException("空隊列異常!");
}else{
E value = (E) data[front]; //保留隊列的front端的元素的值
data[front++] = null; //釋放隊列的front端的元素
return value;
}
}
//隊列長度
public int length(){
return rear-front;
}
}
Ⅵ java 中的隊列都有哪些,有什麼區別
阻塞隊列與普通隊列的區別在於,當隊列是空的時,從隊列中獲取元素的操作將會被阻塞,或者當隊列是滿時,往隊列里添加元素的操作會被阻塞。試圖從空的阻塞隊列中獲取元素的線程將會被阻塞,直到其他的線程往空的隊列插入新的元素。同樣,試圖往已滿的阻塞隊列中添加新元素的線程同樣也會被阻塞,直到其他的線程使隊列重新變得空閑起來,如從隊列中移除一個或者多個元素,或者完全清空隊列.
Ⅶ java 隊列
java類庫有Queue類,但是如果樓主想自己定義隊列的話,可以模仿C++指針定義隊列的方式。java和C#雖然沒有指針,但是它們的對象默認都是傳引用的,也就像指針傳遞地址一樣,呵呵。
Ⅷ java中的隊列都有哪些,有什麼區別
阻塞隊列、普通隊列,非阻塞隊列。
阻塞隊列與普通隊列的而區別在於,當隊列是空時,從隊列中獲取元素的操作會被阻塞,或則當隊列是滿的時,往隊列中增加元素會被阻塞,試圖從空的隊列中取元素的線程或從滿的隊列中添加元素的線程同樣會被阻塞。