2015-01-26 11 views
-1

есть ли способ сказать, что если вы достигнете нулевой ссылки, то сделайте что-нибудь? , например. если у меня есть LinkedList только с одним объектом и после этого сравнения, если вы достигли нулевой, то сделать что-то ...Java: LinkedList

for(int i = 0; i < queue.size(); i++) { 
    if (queue.get(i).compareTo(newitem) == -1) { 
       continue; 
      } 
} 

, например, другой, если придаточного в петле говоря

if (queue.equals(null)) { 
    queue.add(newitem); 
} 

это кстати LinkedList

public OrderedQueue() { 
    queue = new LinkedList<T>(); // generate an empty queue 
} 
+0

Это может принести пользу вам, чтобы обеспечить немного более подробно в том, что Вы желаете сделать. Класс LinkedList в Java имеет метод getLast(), который можно использовать для добавления нового элемента, если это ваше намерение. –

+0

Прошу прощения за мой непонятный вопрос! Проблема решена сейчас :) У меня только один вопрос, так как я новичок здесь в stackoverflow ... как я могу отметить это сообщение как выполненное? спасибо – thedude

ответ

2

Вы всегда можете проверить, что объект в вашем списке null сделать специальную операцию:

for(Element e : queue) { 
    if(e == null) { 
     // special operation 
    } else { 
     // normal operation 
    } 
} 

Также используйте цикл for для каждого цикла для перебора элементов.

В вашем случае использование метода get(i) не очень эффективно на LinkedList. Использование a для каждого позволяет вам абстрагироваться от фактического типа Iterable, который вы повторяете.

+0

Я как раз собирался дать точно такой же ответ: 1) 'for (T item: list) {...}' syntax, 2) 'if (item == null) {...}' сказуемое. Вы избили меня до этого :) – FoggyDay

0

Заменить все с:

if (!queue.contains(newItem)) { 
    queue.add(newItem); 
} 
+0

Еще лучше. Замените все на 'queue = new LinkedHashSet();' ... и затем 'queue.add (newItem)';) – Dima