2013-12-14 2 views
-2

У меня есть один существующий код, в котором написано линияКак удалить объект в списке Java?

private Rule[] ruleList; 

Где Правило является CLASS.

Я хочу удалить все Правила, которые добавляются сюда в список правил.

, но я нажимаю право это показывает, как этот enter image description here

Если это список, как я могу удалить эти правила из ruleList?

Благодаря

+2

Итак, вы хотите удалить все элементы из списка? Или все элементы в массиве из списка? –

+0

Я хочу удалить все элементы из списка –

+0

Это не список, а массив. 'List ' будет List. –

ответ

3

ruleList является массивом, а не List. Таким образом, вы не найдете метод clear.

Но вы можете использовать

Arrays.fill(ruleList, null); 
0

У вас есть массив, а не список. Решение:

ruleList = new Rule[ruleList.length]; 
+0

OP хочет удалить правила из 'ruleList' и не создавать новый массив. Может быть, потому, что ссылка на 'ruleList' уже передана другому объекту. –

0

Чтобы удалить все элементы из List использования clear()

Если вы хотите, чтобы удалить все элементы массива из List использовать метод удалить.

Пример

public class Rules { 


    public static void main(String[] args) { 
     Rule[] rules = new Rule[2]; 
     rules[0] = new Rules.Rule(); 
     rules[1] = new Rules.Rule(); 

     //Scenario 1 
     List<Rule> ruleList = new ArrayList<Rule>(); 
     ruleList.add(Arrays.asList(rules)); //adds array to list 
     ruleList.clear(); //removes all items from List 


     //Scenario2 
     ruleList.add(Arrays.asList(rules)); //adds array to list 
     ruleList.remove(Arrays.asList(rules)); //remove all rules in [] form list 

     //Scenario3 
     Arrays.fill(rules, null); //removes all elements in array 
    } 

    static class Rule{ 

    } 
} 

Важно, чтобы определить, является ли вы используете List или Array. Предоставленный код отображает массив, однако словосочетание ссылается на List.

Если у вас есть List и хотите удалить все элементы, см. Сценарий 1 в примере. Если у вас действительно есть List и вы хотите удалить все элементы в массиве из List см. Сценарий 2 в примере. Если у вас есть массив и вы хотите удалить все элементы из массива, см. Сценарий 3 в примере.

Смежные вопросы