2013-12-14 4 views
-2

나는 서면 라인이 규칙은 CLASS입니다Java List에서 Object를 제거하는 방법은 무엇입니까?

private Rule[] ruleList; 

하나 개 기존의 코드를 가지고있다.

여기에 ruleList에 추가 된 모든 규칙을 제거하고 싶습니다.

하지만 오른쪽 클릭으로 내가 ruleList에서 이러한 규칙을 삭제하는 방법이 목록의 경우이 enter image description here

처럼 보여?

감사

+2

목록에서 모든 항목을 제거 하시겠습니까? 또는 목록의 배열에있는 모든 항목? –

+0

목록에서 모든 항목을 제거하고 싶습니다. –

+0

목록이 아니라 배열입니다. 'List '는 목록입니다. –

답변

3

ruleList 배열 아닌 List이다. 따라서 clear 메소드를 찾을 수 없습니다.

하지만 당신은 배열이 아닌 목록을

Arrays.fill(ruleList, null); 
0

를 사용할 수 있습니다. 해결 방법 : 제거 방법을 사용하십시오 List에서 배열의 모든 항목을 제거하려면

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

OP는'ruleList'에서 규칙을 삭제하고 새로운 배열을 생성하지 않으려합니다. 'ruleList'에 대한 참조가 이미 다른 객체에 전달 되었기 때문일 수 있습니다. –

0

List 사용 clear()

에서 모든 항목을 제거합니다.

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을 참조하십시오.

관련 문제