list string 去重
时间: 2023-11-20 20:05:10 浏览: 38
您可以使用以下两种方式对字符串列表进行去重:
方式一:
您可以使用一个临时列表来存储不重复的字符串,然后遍历原始列表,将不重复的字符串添加到临时列表中。最后,将临时列表赋值给原始列表,实现去重操作。代码如下所示:
```
List<String> listTemp = new ArrayList<String>();
for (int i = 0; i < list.size(); i++) {
if (!listTemp.contains(list.get(i))) {
listTemp.add(list.get(i));
}
}
list = listTemp;
```
这种方式适用于较小的列表,因为它需要遍历原始列表来检查重复项。
方式二:
您可以使用HashSet来去重字符串列表。HashSet会自动去除重复的元素,并且不会保留原始列表的顺序。代码如下所示:
```
HashSet<String> h = new HashSet<>(list);
list.clear();
list.addAll(h);
```
这种方式使用HashSet的特性来去除重复项,并将去重后的元素重新添加到原始列表中。
请注意,以上两种方式都会修改原始列表。如果您需要保留原始列表不变,并获得一个新的去重后的列表,可以使用方式二,并将去重后的HashSet转换成一个新的ArrayList。
方式二:HashSet的使用
方式一:遍历列表并使用临时列表去重
相关问题
C#winfrom List String去重
在 C# WinForms 中,你可以使用 LINQ 中的 Distinct() 方法来去重一个字符串列表。以下是一个示例代码:
```csharp
List<string> myList = new List<string> { "apple", "banana", "banana", "cherry", "cherry", "cherry" };
List<string> uniqueList = myList.Distinct().ToList();
```
在这个例子中,我们首先创建一个包含重复元素的字符串列表 myList,然后使用 Distinct() 方法去重。最后,我们使用 ToList() 方法将结果转换为一个新的 List 对象 uniqueList。
如果你需要忽略字符串的大小写进行去重,你可以使用 StringComparer.OrdinalIgnoreCase 作为 Distinct() 方法的参数:
```csharp
List<string> myList = new List<string> { "apple", "banana", "BANANA", "cherry", "Cherry", "CHERRY" };
List<string> uniqueList = myList.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
```
在这个例子中,我们使用 Distinct() 方法的重载版本,并传递一个 StringComparer.OrdinalIgnoreCase 参数。这将忽略字符串的大小写进行去重。
C#winfrom List String去重不使用自带方法
如果你不想使用 LINQ 中的 Distinct() 方法来去重一个字符串列表,你可以使用以下代码实现:
```csharp
List<string> myList = new List<string> { "apple", "banana", "banana", "cherry", "cherry", "cherry" };
List<string> uniqueList = new List<string>();
foreach (string item in myList)
{
if (!uniqueList.Contains(item))
{
uniqueList.Add(item);
}
}
```
在这个例子中,我们首先创建一个包含重复元素的字符串列表 myList,然后创建一个新的空列表 uniqueList,用来存储去重后的元素。
接着,我们使用 foreach 循环遍历 myList 中的每个元素。对于每个元素,我们检查它是否已经存在于 uniqueList 中,如果不存在,则将其添加到 uniqueList 中。
这个方法虽然实现简单,但是对于大规模数据集的性能可能不够高效。对于大规模数据集,使用 HashSet<T> 或者 SortedSet<T> 可能更好。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)