Blackberry 응용 프로그램에서 Java의 Queue.peek() 및 Queue.remove()와 비슷한 메서드를 제거하고 제거하려고합니다. 사용자 정의 대기열 구현이 있지만 요소를 살짝보고 대기열에서 요소를 제거하려면 어떻게해야합니까?Blackberry의 큐 구현을위한 Peek() 및 remove() 메서드
도와주세요, 사전에
감사합니다.
Blackberry 응용 프로그램에서 Java의 Queue.peek() 및 Queue.remove()와 비슷한 메서드를 제거하고 제거하려고합니다. 사용자 정의 대기열 구현이 있지만 요소를 살짝보고 대기열에서 요소를 제거하려면 어떻게해야합니까?Blackberry의 큐 구현을위한 Peek() 및 remove() 메서드
도와주세요, 사전에
감사합니다.
봅니다 Arrays 클래스를 사용합니다 ... 당신이 들여다해야하는 경우, 단지 마지막 삭제 제거, 개체 배열에서 마지막 요소를 가지고 :
class Queue {
private Object[] mElements = new Object[] {};
public void enqueue(Object element) {
Arrays.insertAt(mElements, element, 0);
}
public Object dequeue() {
Object result = null;
if (null != mElements && 0 < mElements.length) {
result = mElements[mElements.length - 1];
Arrays.remove(mElements, result);
}
return result;
}
public Object peek() {
if (null != mElements && 0 < mElements.length)
return mElements[mElements.length - 1];
else
return null;
}
public void remove() {
if (null != mElements && 0 < mElements.length)
Arrays.remove(mElements, peek());
}
}
사용 예 :
class Scr extends MainScreen {
public Scr() {
Queue queue = new Queue();
queue.enqueue(new String("3"));
queue.enqueue(new Boolean(true));
queue.enqueue(new Integer(1));
//see "3" in console
System.out.println(queue.peek());
//see "3" still there
System.out.println(queue.peek());
//remove "3"
queue.remove();
//see "true" in console
System.out.println(queue.peek());
//dequeue all elements
Object element = null;
while ((element = queue.dequeue()) != null) {
System.out.println(element.toString());
}
}
}
감사합니다. Coldice, 저를 도왔습니다. – iOSDev
당신을 진심으로 환영합니다! –
'Arrays.remove'는 OS 4.0 이후 문서화되지 않았고 이유가 있습니다 : 일부 버전에서는 작동하지 않습니다. –