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函数实现列表去重的方法,可以根据实际场景选择适合的方法来去除重复元素。
