JAVA代码实现 两个List<String>类型合并,删除第一个列表中的重复元素,将第二个List<String>列表放在第一个列表的后面
时间: 2024-05-17 14:15:45 浏览: 10
可以使用 Java 中的 Set 来去除重复元素,然后将第二个列表添加到第一个列表后面。以下是实现代码:
```java
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
// 假设已经将 list1 和 list2 填充好了
Set<String> set = new HashSet<>(list1); // 将 list1 转换为 Set 去重
list1.clear(); // 清空 list1
list1.addAll(set); // 将去重后的元素添加到 list1 中
list1.addAll(list2); // 将 list2 添加到 list1 后面
```
这段代码首先将第一个列表转换为 Set 去除重复元素,然后清空第一个列表并添加去重后的元素。最后将第二个列表添加到第一个列表后面。
相关问题
JAVA代码实现 两个List<String>类型合并,删除重复元素,按照第二个List<String>列表排序
下面是 Java 代码实现,将两个 List<String> 类型的列表合并成一个列表,删除重复元素,按照第二个 List<String> 列表排序:
```
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("grape");
list2.add("apple");
List<String> list3 = new ArrayList<>();
list3.addAll(list1);
list3.addAll(list2);
// 删除重复元素
List<String> distinctList = list3.stream().distinct().collect(Collectors.toList());
// 按照 list2 列表排序
distinctList.sort((a, b) -> {
int indexA = list2.indexOf(a);
int indexB = list2.indexOf(b);
return Integer.compare(indexA, indexB);
});
System.out.println(distinctList);
```
这段代码中,我们先创建了两个 List<String> 类型的列表 list1 和 list2,然后使用 addAll() 方法将它们合并成一个列表 list3。接下来,我们使用 Java 8 中的流式 API 将列表中的重复元素去重,得到 distinctList 列表。最后,我们使用 sort() 方法按照 list2 列表中元素的顺序对 distinctList 列表进行排序。最终输出排序后的列表。
JAVA代码实现 两个List<String>类型合并,第一个列表顺序不变的条件下删除第一个列表中的重复元素,将第二个List<String>列表添加到第一个列表的后面
可以使用Java 8的流操作来实现这个功能。具体代码如下:
```java
List<String> list1 = Arrays.asList("a", "b", "c", "d");
List<String> list2 = Arrays.asList("c", "d", "e", "f");
List<String> result = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(result);
```
这段代码中,我们先使用 `Stream.concat()` 方法将两个列表合并成一个流,然后使用 `distinct()` 方法去除重复元素,最后使用 `collect()` 方法将结果收集到一个列表中。
输出结果为:
```
[a, b, c, d, e, f]
```
注意:这段代码中,第一个列表的顺序并没有改变,因为 `Stream.concat()` 方法是按照参数顺序依次连接两个流的。如果你需要对第一个列表进行排序或者其他操作,可以在调用 `stream()` 方法之前先进行相应的操作。