source

Java, ArrayList에서 Integer 항목을 삭제하는 방법

goodcode 2022. 9. 18. 21:32
반응형

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<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);
  1. remove(int 인덱스)

    이 리스트의 지정된 위치에 있는 요소를 삭제합니다(옵션 조작).후속 요소를 왼쪽으로 이동합니다(인덱스에서 제외).목록에서 제거된 요소를 반환합니다.

  2. 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)★★★★★★ 。

여기에는 몇 가지 방법이 있습니다.

  1. list.remove(Integer.valueOf(2)); // removes the first occurrence of 2
  2. list.remove(list.indexOf(2)); // also removes the first occurrence of 2
  3. list.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

반응형