• 使用 Java 删除 ArrayList 中的重复元素


    使用 Java 删除 ArrayList 中的重复元素
    1. 使用 Iterator

    import java.util.*;
    
    public class Test {
    	public static <T> List<T> removeDuplicates(List<T> list) {
    		List<T> newList = new ArrayList<T>();
    		for (T element : list) {
    			if (!newList.contains(element)) {
    				newList.add(element);
    			}
    		}
    		return newList;
    	}
    
    	public static void main(String args[]) {
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 3, 10, 3, 4, 5, 5));
    		System.out.println("ArrayList with duplicates: " + list);
    		List<Integer> newList = removeDuplicates(list);
    		System.out.println("ArrayList with duplicates removed: " + newList);
    	}
    }
    

    ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 3, 10, 3, 4, 5, 5]
    ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

    2. 使用 LinkedHashSet

    import java.util.*;
    
    public class Test {
    	public static <T> List<T> removeDuplicates(List<T> list) {
    		Set<T> set = new LinkedHashSet<>();
    		set.addAll(list);
    		list.clear();
    		list.addAll(set);
    		return list;
    	}
    
    	public static void main(String args[]) {
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5));
    		System.out.println("ArrayList with duplicates: " + list);
    		List<Integer> newList = removeDuplicates(list);
    		System.out.println("ArrayList with duplicates removed: " + newList);
    	}
    }
    

    ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5]
    ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

    3. 使用 Java 8 Stream.distinct()

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class Test {
    	public static void main(String[] args) {
    		List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5));
    		System.out.println("ArrayList with duplicates: " + list);
    		List<Integer> newList = list.stream().distinct().collect(Collectors.toList());
    		System.out.println("ArrayList with duplicates removed: " + newList);
    	}
    }
    

    ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5]
    ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

  • 相关阅读:
    第十八周作业
    第十七周作业
    第十六周作业
    第十五周作业
    第十四周作业
    第十三周作业
    第十二周作业
    第二阶段考试
    第十周作业
    启航,带着梦想出发!
  • 原文地址:https://www.cnblogs.com/hgnulb/p/10490540.html
Copyright © 2020-2023  润新知