使用Set进行字符串去重 题目: 给定一个包含字符串的List: (1, 2, 3, 4, 2, 5, 3, 6);, 返回去重的字符串List。
时间: 2024-09-30 11:09:42 浏览: 34
在Java中,你可以使用Set数据结构来进行字符串去重。Set不允许有重复元素的存在,所以当我们把List转换成Set时,重复的字符串会被自动去除。以下是使用HashSet(无序且不允许重复)的一个示例:
```java
import java.util.*;
public List<String> removeDuplicates(List<String> stringList) {
Set<String> set = new HashSet<>(stringList);
return new ArrayList<>(set);
}
// 示例:
List<String> input = Arrays.asList("1", "2", "3", "4", "2", "5", "3", "6");
List<String> uniqueStrings = removeDuplicates(input);
System.out.println(uniqueStrings); // 输出:[1, 2, 3, 4, 5, 6]
```
在这个例子中,`removeDuplicates`函数首先创建了一个HashSet,然后将输入的List转换为Set,最后再将Set转换回ArrayList以保持列表的形式返回。
相关问题
给定一个包含字符串的List: (1, 2, 3, 4, 2, 5, 3, 6);,返回去重并排序后的字符串List。
可以使用Java中的Set数据结构来实现这个需求,因为Set不允许有重复元素。首先将List转换为Set去重,然后再将Set转换回List,并使用Collections.sort()对结果进行排序。这里是一个简单的示例:
```java
import java.util.*;
public List<String> removeDuplicatesAndSort(List<String> list) {
// 使用HashSet去重
Set<String> uniqueSet = new HashSet<>(list);
// 将Set转换回List并排序
List<String> sortedList = new ArrayList<>(uniqueSet);
Collections.sort(sortedList);
return sortedList;
}
```
例如,如果输入的List是`list = Arrays.asList("1", "2", "3", "4", "2", "5", "3", "6");`,调用上述函数后,返回的结果会是`["1", "2", "3", "4", "5", "6"]`。
给定一个List〈String〉编写一个方法删除所有重复的字符串,测试数据:[“apple”,]
你可以使用Java的集合框架和Set的数据结构来实现这个功能,因为Set不允许有重复元素。下面是一个简单的示例方法,它接受一个字符串列表作为输入,然后创建一个Set,再将Set转换回List形式,这样就去除了重复项:
```java
import java.util.*;
public class Main {
public static List<String> removeDuplicates(List<String> stringList) {
Set<String> uniqueStrings = new HashSet<>(stringList); // 使用HashSet去除重复
return new ArrayList<>(uniqueStrings);
}
public static void main(String[] args) {
List<String> testData = Arrays.asList("apple");
System.out.println(removeDuplicates(testData)); // 输出 ["apple"]
}
}
```
在这个例子中,`removeDuplicates`方法接收一个`List<String>`类型的参数,并返回一个新的`List<String>`,其中包含了原始列表中的唯一字符串。
阅读全文