java数组去重排序
时间: 2023-12-05 07:36:28 浏览: 82
可以使用Java中的Set集合来去重,再将Set转换为数组进行排序。
示例代码如下:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 3, 4, 5, 5, 6};
Set<Integer> set = new HashSet<>();
for (int num : arr) {
set.add(num);
}
Integer[] newArr = set.toArray(new Integer[0]);
Arrays.sort(newArr);
System.out.println(Arrays.toString(newArr));
}
}
```
相关问题
java数组去重排序方法
在 Java 中,你可以通过以下几个步骤对数组进行去重并排序:
1. **创建集合**:首先将数组转换为 List,因为集合有内置的去重功能。可以使用 HashSet 或 TreeSet,HashSet 的唯一性保证了元素不会重复,而 TreeSet 自然会按照键值排序。
```java
List<Integer> list = new ArrayList<>(Arrays.asList(originalArray));
```
2. **去重**:使用 `removeDuplicates()` 方法,对于 HashSet 使用 `addAll`,对于 TreeSet 则不需要此步骤,因为它本身就不包含重复元素。
3. **排序**:如果你需要保持整数的升序排列,可以继续使用 TreeSet,因为它是有序的。如果需要自定义排序规则,可以先将 List 转换回 Array,并使用 Arrays.sort() 函数配合 Comparator 进行定制排序。
```java
if (useTreeSet) {
list = new ArrayList<>(treeSet);
} else {
// 对数组进行排序,这里示例是按升序
Integer[] sortedArray = list.toArray(new Integer);
Arrays.sort(sortedArray);
}
```
4. **结果数组**:最后将排序后的 List 再转换回数组即可。
```java
Integer[] resultArray = sortedArray.copyOfRange(0, list.size());
```
JAVA字符串数组去重排序方法
在Java中,你可以使用HashSet数据结构结合Arrays类的sort方法来对字符串数组进行去重并排序。以下是步骤:
1. 首先,创建一个HashSet,因为HashSet不允许有重复元素,所以可以把字符串添加到其中,同时自动去重。
```java
HashSet<String> uniqueStrings = new HashSet<>(array);
```
2. 然后将HashSet转换回数组,因为HashSet无序,需要将其转化为List再进行排序,以便保持顺序一致性。
```java
List<String> sortedUniqueList = new ArrayList<>(uniqueStrings);
```
3. 对这个List进行排序,这里可以使用Collections.sort()方法,它会默认按照自然顺序进行排序,对于字符串来说就是字典顺序。
```java
Collections.sort(sortedUniqueList);
```
4. 最后,如果需要的话,你可以把List再次转换回String数组。
```java
String[] sortedAndUniqueArray = sortedUniqueList.toArray(new String[0]);
```
完整代码示例:
```java
String[] array = {"banana", "apple", "orange", "banana", "pear"};
Set<String> uniqueStrings = new HashSet<>(Arrays.asList(array));
List<String> sortedUniqueList = new ArrayList<>(uniqueStrings);
Collections.sort(sortedUniqueList);
String[] sortedAndUniqueArray = sortedUniqueList.toArray(new String[0]);
```
阅读全文