Java:如何重置数组列表,使其为空 [已关闭]

2022-09-02 11:48:41

我在 for 循环中将对象添加到此列表中。我希望每次调用该方法时此数组列表为空。arraylist<interface>

代码如下:

我想在这里清空的数组是建议的短语。

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

您可以调用该方法,但通常我更喜欢创建新实例,而不是重用现有实例。开销可以忽略不计(除了真正对性能至关重要的部分),因为今天的JVM可以很好地处理对象重新分配。clear


推荐