> Java > java지도 시간 > 본문

Java의 목록 컬렉션에서 중복 항목을 제거하는 방법은 무엇입니까?

王林
풀어 주다: 2019-11-27 15:11:13
앞으로
4778명이 탐색했습니다.

Java의 목록 컬렉션에서 중복 항목을 제거하는 방법은 무엇입니까?

중복 제거 방법:

1. 세트 컬렉션의 특성을 통해 세트 요소의 고유성

public static List heavyListMethod01(List list){
        Set set=new HashSet(list);
        //Set set1=new TreeSet(list);
        List alist=new ArrayList();
        for (Object o:set) {
            alist.add(o);
        }
        return alist;
    }
로그인 후 복사

추천 무료 동영상 튜토리얼: java video

사용 set collection 특성, 요소의 고유성 addAll (컬렉션 c)

public static List heavyListMethod02(List list){
        List newList=new ArrayList();
        newList.addAll(new HashSet(list));
        return newList;
    }
로그인 후 복사

2. list 메소드를 사용하여 중복 항목을 제거합니다.

public static List heavyListMethod03(List list){
        List alist=new ArrayList();
        for (Object o:list) {
          if(!(alist.contains(o))){
            alist.add(o);
          }
        }
        return alist;
    }
로그인 후 복사

3. 순회를 통해 제거한 다음, 제거 메소드를 사용하여 제거합니다. 중복 요소

public static List heavyListMethod04(List<Object> list){
       for (int i=0;i<list.size()-1;i++){
           Object o =list.get(i);
           for (int j=i+1;j<list.size();j++){
               if(o.equals(list.get(j))){
                   list.remove(j);
                   j--;
               }
           }
       }
       return list;
    }
로그인 후 복사

4. (jdk1.8) 스트림 메소드를 호출하여 목록을 스트림으로 변환하고, 개별(내부적으로는 equals() 메소드 기반)을 통해 스트림의 중복 요소를 제거합니다.

public static List heavyListMethod05(List<Object> list){
        list = list.stream().distinct().collect(Collectors.toList());
        return list;
    }
로그인 후 복사

테스트 검증:

public static void main(String[] args) {
        List list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(5);
        list.add(2);
        list.add(3);
        list.add(1);
        list.add(4);
        List list1 =heavyListMethod01(list);
        System.out.println("1----"+list1);//[1, 2, 3, 4, 5]
        List list2 =heavyListMethod02(list);
        System.out.println("2----"+list2);//[1, 2, 3, 4, 5]
        List list3 =heavyListMethod03(list);
        System.out.println("3----"+list3);//[1, 2, 5, 3, 4]
        List list4 =heavyListMethod04(list);
        System.out.println("4----"+list4);//[1, 2, 5, 3, 4]
        List list5 =heavyListMethod05(list);
        System.out.println("5----"+list5);//[1, 2, 5, 3, 4]
    }
로그인 후 복사

권장 관련 기사 및 튜토리얼: 처음부터 Java 시작하기

위 내용은 Java의 목록 컬렉션에서 중복 항목을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿