java 两个list对象去重
时间: 2023-11-22 22:25:25 浏览: 39
Java中可以使用Set集合实现两个list对象去重,具体实现代码如下:List list1 = new ArrayList<>(); list1.add("one"); list1.add("two"); list1.add("three"); List list2 = new ArrayList<>(); list2.add("two"); list2.add("four"); list2.add("three"); Set set = new HashSet<>(); set.addAll(list1); set.addAll(list2); List newList = new ArrayList<>(set); System.out.println(newList);
相关问题
java 两个list合并去重相加
可以使用Java 8的Stream API来实现两个List合并去重相加的操作,具体代码如下:
```
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(3, 4, 5, 6, 7);
List<Integer> result = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
int sum = result.stream().mapToInt(Integer::intValue).sum();
System.out.println(result); // [1, 2, 3, 4, 5, 6, 7]
System.out.println(sum); // 28
```
首先使用`Stream.concat`方法将两个List合并为一个Stream,然后使用`distinct`方法去重,最后使用`Collectors.toList`方法将结果收集到一个List中。接着使用`mapToInt`方法将List中的元素转换为int类型,然后使用`sum`方法求和。
java 对比两个list 去重
以下是Java中对比两个List去重的方法:
1.使用Java 8 Stream API进行去重
```java
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list2 = new ArrayList<>(Arrays.asList("b", "c", "d"));
List<String> result = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(result); // 输出:[a, b, c, d]
```
2.使用Java中的Set集合进行去重
```java
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list2 = new ArrayList<>(Arrays.asList("b", "c", "d"));
Set<String> set = new HashSet<>(list1);
set.addAll(list2);
List<String> result = new ArrayList<>(set);
System.out.println(result); // 输出:[a, b, c, d]
```