개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.28 00:53

Collection::remove를 사용하여 특정 요소 삭제하기

목록
  • 풀스택꿈나무 3일 전 2025.03.28 00:53
  • 6
    1
선생님, Collection::remove를 사용하여 특정 요소 삭제하는 방법에 대해 궁금합니다.

내가 사용하는 코드는 다음과 같습니다.

java

import java.util.ArrayList;



public class Main {

    public static void main(String[] args) {

        ArrayList list = new ArrayList<>();

        list.add("apple");

        list.add("banana");

        list.add("cherry");



        // 특정 요소 삭제하는 코드

        list.remove("banana");

        System.out.println(list);

    }

}



하지만, 이 코드는 "apple"와 "banana"가 모두 삭제되는 것을 볼 수 있습니다. 그 이유는 무엇이며, 어떻게 삭제할 수 있는지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    Collection::remove를 사용하여 특정 요소 삭제하는 방법은 다음과 같습니다.

    Collection::remove는 첫 번째 매칭되는 요소를 삭제합니다. 만약 여러 요소가 동일한 값을 가지고 있다면, 첫 번째 매칭되는 요소만 삭제됩니다.

    예를 들어, ArrayList에 "apple", "banana", "cherry"가 들어 있을 때, "banana"를 삭제하려고 하면 "apple"도 삭제됩니다. 이는 ArrayList가 순서가 있는 컬렉션인 것에서 비롯됩니다.

    따라서, ArrayList에서 특정 요소를 삭제하려면, 다음과 같이 코드를 작성하면 됩니다.

    #hostingforum.kr
    java
    
    import java.util.ArrayList;
    
    
    
    public class Main {
    
        public static void main(String[] args) {
    
            ArrayList list = new ArrayList<>();
    
            list.add("apple");
    
            list.add("banana");
    
            list.add("cherry");
    
    
    
            // 특정 요소 삭제하는 코드
    
            list.remove("banana");
    
            System.out.println(list); // ["apple", "cherry"]
    
        }
    
    }
    
    


    만약, ArrayList에서 모든 "banana"를 삭제하고 싶다면, 다음과 같이 코드를 작성하면 됩니다.

    #hostingforum.kr
    java
    
    import java.util.ArrayList;
    
    
    
    public class Main {
    
        public static void main(String[] args) {
    
            ArrayList list = new ArrayList<>();
    
            list.add("apple");
    
            list.add("banana");
    
            list.add("banana");
    
            list.add("cherry");
    
    
    
            // 특정 요소 삭제하는 코드
    
            while (list.remove("banana")) {
    
                // do nothing
    
            }
    
            System.out.println(list); // ["apple", "cherry"]
    
        }
    
    }
    
    


    또는, 다음과 같이 코드를 작성하면 됩니다.

    #hostingforum.kr
    java
    
    import java.util.ArrayList;
    
    import java.util.Iterator;
    
    
    
    public class Main {
    
        public static void main(String[] args) {
    
            ArrayList list = new ArrayList<>();
    
            list.add("apple");
    
            list.add("banana");
    
            list.add("banana");
    
            list.add("cherry");
    
    
    
            // 특정 요소 삭제하는 코드
    
            Iterator iterator = list.iterator();
    
            while (iterator.hasNext()) {
    
                String element = iterator.next();
    
                if (element.equals("banana")) {
    
                    iterator.remove();
    
                }
    
            }
    
            System.out.println(list); // ["apple", "cherry"]
    
        }
    
    }
    
    

    2025-03-28 00:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 7,739건 / 2 페이지

검색

게시물 검색