ArrayList에서 반복되는 원소를 어떻게 지우죠?

문자열 ArrayList가 있는데 이 리스트에서 반복되는 문자열을 지우고 싶어요. 어떻게 하면 될까요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    중복을 허용하는 리스트를 사용하는 이유에 대해서 고민을 해봐야합니다. 중복된 원소를 지우는 가장 쉬운 방법은 원소를 Set에 넣는 방법입니다. Set은 중복을 허용하지않습니다. 그리고 그걸 다시 ArrayList에 넣어주시면됩니다.

    List<String> al = new ArrayList<>();
    // add elements to al, including duplicates
    Set<String> hs = new HashSet<>();
    hs.addAll(al);
    al.clear();
    al.addAll(hs);
    

    이런식으로요. 물론 이러면 ArrayList의 순서는 뒤죽박죽이 됩니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.