Java, ArrayList에서 Integer 항목을 삭제하는 방법
다음과 같은 Array List가 있다고 가정합니다.
ArrayList<Integer> list = new ArrayList<Integer>();
추가 작업 후:
list.add(2);
list.add(3);
list.add(5);
list.add(7);
삭제하고 싶다number 2내가 한다면
list.remove(2);
그리고나서number 5삭제됩니다. 어떻게 하면 삭제할 수 있나요?number 2그리고 내가 그 지수를 모른다고 가정해봐.number 2.
이거 먹어봐
list.removeAll(Arrays.asList(2));
값이 = 2인 모든 요소를 제거합니다.
이것도 사용할 수 있습니다.
list.remove(Integer.valueOf(2));
하지만 2의 첫 번째 발생만 제거할 것이다.
list.remove(2)일치하기 때문에 동작하지 않는다.List.remove(int i)지정된 인덱스를 가진 요소를 제거합니다.
에는 두 가지 버전이 있습니다.remove()방법:
ArrayList#remove(Object)그 일에는Object제거하다ArrayList#remove(int)그 일에는index제거할 수 있습니다.
를 사용하여ArrayList<Integer>, 다음과 같은 정수값을 삭제합니다.2는 인덱스로서 취득됩니다.remove(int)와 완전히 일치합니다.박스가 안 돼2로.Integer넓힙니다.
이 문제를 해결하려면Integer오브젝트는 명시적으로 표시됩니다.이 경우 언박싱보다 확장이 우선됩니다.
list.remove(Integer.valueOf(2));
다음 대신:
list.remove(Integer.valueOf(2));
물론 다음과 같이 사용할 수 있습니다.
list.remove((Integer) 2);
이것은 원시 객체가 아닌 Integer 객체에 캐스트되며,remove()배열 목록 색인 대신 개체별
이것이 당신이 원하는 것이라고 생각합니다.Get/remove 메서드를 사용한 ArrayList <Integer>
list.remove(new Integer(2));
가장 쉬운 방법은 다음과 같습니다.
list.remove((Integer)5);
불필요한 오브젝트를 작성하지 않고 인덱스를 정수로 지정합니다.보너스: 가장 간단한 구문입니다.
이것을 시험해 보세요.
list.remove(list.indexOf(2));
특정 목록 요소를 찾아 제거하는 명시적인 방법은 없습니다.먼저 이 기능을 사용하여 검색해야 합니다.indexOf방법:
int index = list.indexOf(element); // for your example element would be 2
list.remove(index);
주의해 주세요indexOf지정한 오브젝트의 첫 번째 오카렌스 인덱스를 반환하기 때문에 목록에 있는 아이템을 여러 번 삭제할 경우 적절히 조정해야 합니다.
해라,
list.remove(0);
remove(int 인덱스)
이 리스트의 지정된 위치에 있는 요소를 삭제합니다(옵션 조작).후속 요소를 왼쪽으로 이동합니다(인덱스에서 제외).목록에서 제거된 요소를 반환합니다.
remove(오브젝트 o)
지정된 요소가 있는 경우 이 목록에서 첫 번째 요소를 제거합니다.목록에 요소가 포함되지 않은 경우 변경되지 않습니다.좀 더 형식적으로, 는 다음과 같이 지수 i가 가장 낮은 요소를 제거합니다.
o==null ? get(i)==null : o.equals(get(i)))(이러한 요소가 존재하는 경우).이 목록에 지정된 요소가 포함되어 있는 경우(또는 콜의 결과로 이 목록이 변경된 경우 등가) true를 반환합니다.
이러한 방법을 사용하면 인덱스 2에서 요소가 제거됩니다.
어레이 리스트: 2, 3, 5, 7
list.remove(2);
출력: 2,5,7
그리고 이런 방법을 사용하면 값이 2인 요소가 제거됩니다.
어레이 리스트: 2, 3, 5, 7
list.remove(Integer.valueOf(2));
출력: 3,5,7
도움이 됐으면 좋겠는데...
이 전화하고 있는 것은, 「」입니다.list.remove(int)list.remove(Object)★★★★★★ 。
여기에는 몇 가지 방법이 있습니다.
list.remove(Integer.valueOf(2)); // removes the first occurrence of 2list.remove(list.indexOf(2)); // also removes the first occurrence of 2list.removeAll(Arrays.asList(2)); // removes all occurrences of 2
당신의 경우, 이것 또한 효과가 있을 것입니다.
list.removeIf(element -> element == 2);
하면 .list.remove(new Integer(i))을 사용하다
list.remove(0);
0은 인덱스 0의 요소를 나타냅니다.
쓰셨는데요.list.remove(2);, 지수 2에서 , 즉 , 즉 ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ).ArrayList 0로 합니다.
언급URL : https://stackoverflow.com/questions/21795376/java-how-to-remove-an-integer-item-in-an-arraylist
'source' 카테고리의 다른 글
| 루트 권한을 가진 /docker-entrypoint-initdb.d의 스크립트 실행 (0) | 2022.09.18 |
|---|---|
| 여러 테이블에서 *를 선택합니다.MySQL (0) | 2022.09.18 |
| PHP: 문자열을 배열로 분할합니다(예: 구분 기호 없이 분해). (0) | 2022.09.18 |
| 브라우저 창/탭이 닫혔을 때 localStorage 항목을 삭제하는 방법 (0) | 2022.09.12 |
| .jar 파일에서 소스 코드를 추출합니다. (0) | 2022.09.12 |