Методы Peek () и remove () для реализации очереди в Blackberry - PullRequest
1 голос
/ 07 декабря 2009

Я хочу реализовать методы просмотра и удаления, аналогичные Java Queue.peek () и Queue.remove (), в приложении Blackberry. У меня есть пользовательская реализация очереди, но как мне посмотреть на элементы и удалить элементы из очереди?

Пожалуйста, помогите,

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 07 декабря 2009

Попробуйте использовать Массивы class ... если вам нужно посмотреть, возьмите последний элемент из массива Object, чтобы удалить, просто удалите последний:

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());
        }
    }
}
3 голосов
/ 07 декабря 2009

Вы должны иметь возможность использовать Vector для выполнения этих типов операций - firstElement() для просмотра первой в списке, lastElement() для просмотра последней или elementAt() для посмотри на что-нибудь промежуточное. Затем используйте removeElementAt() для удаления элемента.

...