string数组去重的几种方法

本文介绍了几种常用的string数组去重方法,包括使用HashSet、排序后去除重复元素等。

在编程中,我们经常会遇到需要对字符串数组进行去重的情况,这是因为在某些情况下,我们不希望数组中存在重复的元素,如何对字符串数组进行去重呢?本文将介绍几种常见的方法。

1、使用HashSet

string数组去重的几种方法

HashSet是Java中的一个集合类,它不允许集合中有重复的元素,我们可以将字符串数组转换为HashSet,然后再转换回数组,这样就可以实现去重。

import java.util.Arrays;
import java.util.HashSet;
public class Main {
    public static void main(String[] args) {
        String[] arr = {"apple", "banana", "apple", "orange"};
        HashSet<String> set = new HashSet<>(Arrays.asList(arr));
        String[] result = set.toArray(new String[0]);
        System.out.println(Arrays.toString(result));
    }
}

2、使用双重循环

双重循环是一种简单的去重方法,通过两层循环遍历数组,如果发现有重复的元素,就将其删除,但是这种方法的时间复杂度较高,不适用于大规模的数据。

string数组去重的几种方法

public class Main {
    public static void main(String[] args) {
        String[] arr = {"apple", "banana", "apple", "orange"};
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i].equals(arr[j])) {
                    arr[j] = arr[arr.length 1];
                    arr = Arrays.copyOf(arr, arr.length 1);
                    j--;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}

3、使用Stream API

Java 8引入了Stream API,它提供了一种简洁的数据处理方式,我们可以使用Stream的distinct方法对字符串数组进行去重。

import java.util.Arrays;
import java.util.stream.Stream;
public class Main {
    public static void main(String[] args) {
        String[] arr = {"apple", "banana", "apple", "orange"};
        String[] result = Stream.of(arr).distinct().toArray(String[]::new);
        System.out.println(Arrays.toString(result));
    }
}

4、使用LinkedHashSet

string数组去重的几种方法

LinkedHashSet是HashSet的一个子类,它保留了元素的插入顺序,我们可以先将字符串数组转换为LinkedHashSet,然后再转换回数组,这样就可以实现去重并保留原来的顺序。

import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args) {
        String[] arr = {"apple", "banana", "apple", "orange"};
        Set<String> set = new LinkedHashSet<>(Arrays.asList(arr));
        String[] result = set.toArray(new String[0]);
        System.out.println(Arrays.toString(result));
    }
}

以上就是对字符串数组进行去重的四种常见方法,每种方法都有其优点和缺点,具体使用哪种方法,需要根据实际情况来决定。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/186885.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
酷盾叔
上一篇 2024-01-30 03:40
下一篇 2024-01-30 03:40

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入