欢迎访问宙启技术站
智能推送

Java函数实现列表去重

发布时间:2023-07-02 09:07:17

Java函数实现列表去重有多种方法,以下介绍几种常用的方法。

方法一:利用Set集合的不可重复性实现列表去重。

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class DuplicateRemover {

    public static List<Integer> removeDuplicates(List<Integer> list) {
        Set<Integer> set = new HashSet<>(list);
        List<Integer> result = new ArrayList<>(set);
        return result;
    }

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(2);
        list.add(4);
        list.add(1);

        List<Integer> newList = removeDuplicates(list);
        System.out.println(newList);
    }
}

方法二:使用双重循环来比较列表中的元素,如果有重复则移除。

import java.util.ArrayList;
import java.util.List;

public class DuplicateRemover {

    public static List<Integer> removeDuplicates(List<Integer> list) {
        List<Integer> newList = new ArrayList<>();
        
        for (int i = 0; i < list.size(); i++) {
            int current = list.get(i);
            boolean isDuplicate = false;
            
            for (int j = 0; j < newList.size(); j++) {
                if (current == newList.get(j)) {
                    isDuplicate = true;
                    break;
                }
            }
            
            if (!isDuplicate) {
                newList.add(current);
            }
        }
        
        return newList;
    }

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(2);
        list.add(4);
        list.add(1);

        List<Integer> newList = removeDuplicates(list);
        System.out.println(newList);
    }
}

方法三:使用Java 8的流操作来实现列表去重。

import java.util.ArrayList;
import java.util.List;

public class DuplicateRemover {

    public static List<Integer> removeDuplicates(List<Integer> list) {
        List<Integer> newList = list.stream()
                .distinct()
                .collect(Collectors.toList());
        return newList;
    }

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(2);
        list.add(4);
        list.add(1);

        List<Integer> newList = removeDuplicates(list);
        System.out.println(newList);
    }
}

以上就是几种常用的Java函数实现列表去重的方法,可以根据实际场景选择适合的方法来去除重复元素。