字符串数组去重java
时间: 2024-06-28 15:00:58 浏览: 185
在Java中,字符串数组去重可以通过多种方法实现,常见的有使用HashSet、HashMap或自定义算法等。以下是几种常见的方法:
1. 使用HashSet(集合去重):
```java
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
String[] array = {"apple", "banana", "apple", "orange", "banana"};
HashSet<String> uniqueStrings = new HashSet<>(Arrays.asList(array));
String[] distinctArray = uniqueStrings.toArray(new String);
System.out.println("Distinct array: " + Arrays.toString(distinctArray));
}
}
```
相关问题
java 字符串数组去重
你可以使用 Set 数据结构来去除 Java 字符串数组中的重复元素。Set 是一个不允许重复元素的集合,可以方便地去除重复项。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
String[] array = {"apple", "banana", "orange", "apple", "kiwi", "banana"};
// 将数组转换为 Set
Set<String> set = new HashSet<>(Arrays.asList(array));
// 转换回数组
String[] result = set.toArray(new String[0]);
// 输出结果
System.out.println(Arrays.toString(result));
}
}
```
运行以上代码,输出结果为:`[banana, orange, apple, kiwi]`。通过转换为 Set,重复的元素被去除了。然后再将 Set 转换回数组即可得到去重后的结果。
java字符串数组去重
在 Java 中,要去除字符串数组中的重复元素,可以采用多种方法,以下是其中的一些常见方法:
1. **利用 Set**:Set 集合不允许有重复元素,因此你可以将字符串数组转换为 Set,然后再转回数组。注意,这种方法会改变原始数组的顺序。
```java
String[] array = {"a", "b", "c", "d", "a", "e"};
Set<String> uniqueSet = new HashSet<>(Arrays.asList(array));
String[] uniqueArray = uniqueSet.toArray(new String[uniqueSet.size()]);
```
2. **使用 LinkedHashSet**:如果需要保持插入的顺序,可以使用 `LinkedHashSet`,因为它维护了元素的迭代顺序。
```java
String[] array = {"a", "b", "c", "d", "a", "e"};
List<String> list = new ArrayList<>(new LinkedHashSet<>(array));
String[] uniqueArray = list.toArray(new String[list.size()]);
```
3. **使用自定义函数**:通过遍历数组,对每个元素使用条件判断或数据结构如 Map 存储已见元素,然后只保留未见过的元素。
```java
public static String[] removeDuplicates(String[] array) {
Map<String, Boolean> map = new HashMap<>();
List<String> uniqueList = new ArrayList<>();
for (String str : array) {
if (!map.containsKey(str)) {
map.put(str, true);
uniqueList.add(str);
}
}
return uniqueList.toArray(new String[0]);
}
```
阅读全文