Java의 배열에서 객체 제거
Java에서 배열은 고정 길이의 요소 모음입니다. 배열에서 개체를 제거해야 하는 경우 이를 수행할 수 있는 간단한 기본 제공 방법이 없습니다.
문자열 배열을 고려하세요.
String[] foo = { "a", "cc", "a", "dd" };
해결책: 배열 목록 및 뒤로
배열에서 객체를 제거하는 한 가지 접근 방식은 이를 목록으로 변환하고 목록을 수정한 다음, 그런 다음 다시 배열로 변환합니다.
List<String> list = new ArrayList<>(Arrays.asList(foo)); list.removeAll(Arrays.asList("a")); foo = list.toArray(foo);
이 프로세스는 원래 배열의 크기를 유지하며 마지막 남은 요소 다음의 요소는 null로 설정됩니다.
해결책: 새 배열 목록에서
필요한 크기와 정확히 일치하는 새 배열을 원한다면 다음을 수행할 수 있습니다. 다음:
foo = list.toArray(new String[list.size()]);
재사용 가능 항목 사용
자주 사용하는 경우 사전 정의된 빈 문자열 배열 상수 생성을 고려할 수 있습니다.
private static final String[] EMPTY_STRING_ARRAY = new String[0];
그런 다음 제거 기능을 다시 작성할 수 있습니다. as:
List<String> list = new ArrayList<> (); Collections.addAll(list, foo); list.removeAll(Arrays.asList("a")); foo = list.toArray(EMPTY_STRING_ARRAY);
또는 cynicalman이 제안한 접근 방식을 사용할 수 있습니다:
foo = list.toArray(new String[list.size()]);
위 내용은 Java 배열에서 객체를 효율적으로 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!