Java: Как reset arraylist, чтобы он был пуст
У меня есть arraylist<interface>
Объекты добавляются в этот список в цикле for. Я хотел бы, чтобы этот arraylist был пустым каждый раз, когда вызывается метод.
Вот код:
Массив, который я хочу опорожнить здесь, предлагаетсяPhrases.
public List<Interface> returnSuggestedList(String prefix) {
String tempPrefix = prefix;
// suggestedPhrases = null;
//suggestedPhrases = new ArrayList<Interface>();
//Vector<String> list = new Vector<String>();
//List<Interface> interfaceList = new ArrayList<Interface>();
Collections.sort(wordsList);
System.out.println("Sorted Vector contains : " + wordsList);
int i = 0;
//List<String> selected = new ArrayList<String>();
for(String w:wordsList){
System.out.println(w);
if(w.startsWith(prefix.toLowerCase())) { // or .contains(), depending on
//selected.add(w); // what you want exactly
Item itemInt = new Item(w);
suggestedPhrases.add(itemInt);
}
}
Ответы
Ответ 1
Если массив сохраняется во всех вызовах вашего метода (например, если он является членом класса), вы можете вызвать suggestedPhrases.clear()
, чтобы очистить его.
В вашем примере, похоже, нет необходимости перетаскивать suggestedPhrases
через вызовы, поэтому вы можете просто создавать (и возвращать) новый список массивов при каждом вызове метода:
public List<Interface> returnSuggestedList(String prefix) {
ArrayList<Interface> suggestedPhrases = new ArrayList<Interface>();
// populate suggestedPhrases here
return suggestedPhrases;
}
Ответ 2
Вы можете вызвать метод clear
, но обычно я предпочитаю создавать новый экземпляр вместо повторного использования существующего. Накладные расходы незначительны (за исключением критически важных разделов), поскольку сегодня JVM могут довольно хорошо обрабатывать перераспределение объектов.