Android。字符串去重
时间: 2023-12-29 16:06:27 浏览: 123
可以通过使用 HashSet 来去除字符串中的重复项。HashSet 是一种无序的、不允许重复元素的集合。可以将字符串转换为字符数组,然后使用 HashSet 对字符数组进行去重,最后将结果转换回字符串。
以下是一个示例代码:
```
String str = "hello world";
char[] charArray = str.toCharArray();
Set<Character> charSet = new HashSet<>();
for (char c : charArray) {
charSet.add(c);
}
StringBuilder sb = new StringBuilder();
for (Character c : charSet) {
sb.append(c);
}
String result = sb.toString();
```
在上面的代码中,首先将字符串转换为字符数组。然后使用 HashSet 对字符数组进行去重,最后将结果转换回字符串。
注意,上面的代码只是对一个字符串中的字符进行去重,如果需要对多个字符串进行去重,可以使用类似的方法将它们合并为一个字符串后再进行去重。
相关问题
Android studio 有一个string 一个int类型的 list 现在要根据string类型的去重如何处理 使用java
在Android Studio中,如果你有一个包含字符串(String)和整数(Int)的List,想要根据字符串值去重,你可以按照以下步骤操作:
1. 首先,你需要创建一个Map<String, List<Integer>>。Map的数据结构可以很好地存储键值对,这里键是字符串,值是一个保存对应字符串下所有整数的列表。
```java
Map<String, List<Integer>> map = new HashMap<>();
```
2. 对于List中的每个元素(假设它是一个包含String和Integer的对象),检查字符串是否已经在Map中。如果不在,将字符串添加为键,并将该整数添加到对应的值列表中。如果已经存在,就跳过这个整数。
```java
for (Object obj : yourList) {
String str = (String) obj; // 假设obj是封装了String和Integer的复合对象
if (!map.containsKey(str)) {
List<Integer> intList = new ArrayList<>();
intList.add(((YourCompositeObject) obj).getIntValue()); // 获取并添加整数值
map.put(str, intList);
}
}
```
3. 这样,`map`中的键就是唯一的字符串值,而对应的值列表则包含了所有与其关联的唯一整数。
Android studio list集合是一个对象 对象是一个学生表 现在要根据string类型的去重如何处理 使用java
在Android Studio中,如果你有一个List集合,其中元素代表学生表的对象,并且需要根据某个字段(如学号,假设它是个String类型)进行去重,可以按照以下步骤操作:
1. 首先,确保你的学生表对象有一个表示唯一标识的字符串字段,例如`studentID`。
2. 创建一个新的HashSet,HashSet会自动去除重复元素,因为它不允许有相同的键入值:
```java
List<Student> students = ... // 你的学生列表
Set<String> uniqueStudentIds = new HashSet<>();
for (Student student : students) {
uniqueStudentIds.add(student.getStudentID());
}
```
3. 如果你想得到的是唯一的`Student`对象列表而不只是ID,你可以遍历这个HashSet并根据ID获取原始的学生对象:
```java
List<Student> distinctStudents = new ArrayList<>();
for (String id : uniqueStudentIds) {
Student foundStudent = findStudentById(students, id); // 自定义查找方法,根据id返回学生
if (foundStudent != null) {
distinctStudents.add(foundStudent);
}
}
private Student findStudentById(List<Student> students, String id) {
for (Student student : students) {
if (student.getStudentID().equals(id)) {
return student;
}
}
return null; // 如果没找到则返回null
}
```
现在,`distinctStudents`列表包含了去重后的学生对象。
阅读全文