LOOP를 사용하여 목록에서 요소를 삭제하는 데 문제가 있지만 향상된 루프를 사용할 수 있습니다. 그런 다음 오늘 오류가 사용될 때 오류가보고 된 후 과학을 대중화 한 후 이것이 오해라는 것을 알았습니다. 아래에 대해 이야기합시다. . 손을 뻗어 기사의 끝까지 직접 점프하십시오. 요약을보십시오. .
Java에서 트래버스 목록을 루프하고 루프를 향상시키는 세 가지 방법이 있습니다 (즉, 일반적으로 Foreach Loop으로 알려진 루프 및 반복 트래버스.
1. 루프 트래버스 목록의 경우
for (int i = 0; i <list.size (); i ++) {if (list.get (i) .equals ( "del")) list.remove (i);}이 방법의 문제점은 요소를 삭제 한 후 목록의 크기가 변경되고 인덱스가 변경되어 트래버스 중에 특정 요소를 놓칠 수 있다는 것입니다. 예를 들어, 첫 번째 요소를 삭제하고 인덱스에 따라 두 번째 요소에 계속 액세스 할 때, 삭제 된 관계 후의 요소는 하나씩 이동되기 때문에 세 번째 요소에 대한 실제 액세스. 따라서이 방법은 특정 요소를 삭제할 때 사용할 수 있지만 루프에서 여러 요소를 삭제할 때는 적합하지 않습니다.
2. for 루프를 향상시킵니다
for (string x : list) {if (x.equals ( "del")) list.remove (x);}이 방법의 문제점은 요소를 삭제 한 후 요소가 사용될 때 동시 수정이 발생하기 때문에 요소를 삭제 한 후에도 오류 메시지가 계속 루프로보고된다는 것입니다. 그러나 Break를 사용하여 삭제 직후에 점프하면 오류가 발생하지 않습니다.
3. 반복 횡선
iterator <string> it = list.iterator (); while (it.hasnext ()) {문자열 x = it.next (); if (x.equals ( "del")) {it.remove (); }}이 방법은 정상적으로 반복 및 삭제 될 수 있습니다. 그러나 반복자의 제거 메소드를 사용하는 경우 목록의 제거 메소드를 사용하면 위에서 언급 한 동시 모듈 식 소식 오류 오류를보고합니다.
요약 :
(1) 목록에서 특정 요소를 삭제하기 위해 루프를 사용하는 경우 세 가지 방법 중 하나를 사용할 수 있지만 사용할 때 위에서 분석 한 다양한 문제에주의를 기울여야합니다.
(2) 목록에서 여러 요소를 삭제하기 위해 루프되면 반복자 메소드를 사용해야합니다.
Java의 목록에서 요소를 삭제하는 위의 방법에 대한 위의 요약은 편집기가 공유하는 모든 컨텐츠입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원하기를 바랍니다.