List<String>去重
时间: 2023-11-11 13:51:04 浏览: 88
您可以使用Set来对List进行去重。Set是一个不允许重复元素的集合,将List转换为Set可以自动去重。
以下是一个示例代码,演示如何将List<String>去重:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
Set<String> set = new HashSet<>(list);
List<String> uniqueList = new ArrayList<>(set);
System.out.println(uniqueList);
}
}
```
这段代码将输出 `[apple, orange, banana]`,已经去重的List。
相关问题
list<string> 去重
在 C++ 中,可以使用 set 容器来去除一个 list<string> 中的重复元素。示例代码如下:
```
#include <iostream>
#include <list>
#include <set>
#include <string>
int main() {
std::list<std::string> mylist = {"apple", "orange", "banana", "apple", "grape", "banana"};
std::set<std::string> myset(mylist.begin(), mylist.end());
mylist.assign(myset.begin(), myset.end());
for (const auto& s : mylist) {
std::cout << s << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码首先定义了一个 list<string>,其中包含了重复的元素。接着,将该 list<string> 中的元素转存到 set<string> 中,set<string> 会自动去重并排序。最后,将去重后的元素转存回原来的 list<string> 中。最终输出的结果是不包含重复元素的 list<string>。
注意,这种方法会改变原来 list<string> 的顺序,因为 set<string> 会自动排序。如果需要保持原来的顺序,可以使用 unordered_set 容器。
list<string>去重
可以使用Java 8中的Stream API来对List中的元素进行去重,代码如下:
```java
List<String> list = Arrays.asList("apple", "banana", "orange", "apple", "pear", "banana");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
```
这里使用了Stream的distinct方法来去重,然后使用了Collectors.toList()方法将去重后的元素收集到一个新的List中。
阅读全文