Java如何从数组中删除重复的元素?

本示例演示如何使用java.util.HashSet类从数组中删除重复的元素。

package org.nhooo.example.util;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ArrayRemoveDuplicate {
    public static void main(String[] args) {
        // 具有重复值的字符串数组。
        String[] data = {"A", "C", "B", "D", "A", "B", "E", "D", "B", "C"};
        System.out.println("Original array         : " + Arrays.toString(data));

        // 将字符串数组转换为java.util.List,因为我们需要一个列表
        // 对象来创建java.util.Set对象。
        List<String> list = Arrays.asList(data);

        // 集合是一个集合对象,不能有重复的值,
        // 通过将数组转换为集合,重复值将被删除。
        Set<String> set = new HashSet<>(list);

        // 使用以下方法的toArray()方法将java.util.Set转换回数组
        // set对象将set中的值复制到定义的数组。
        String[] result = set.toArray(new String[set.size()]);
        System.out.println("Array with no duplicate: " + Arrays.toString(result));
    }
}

上面的代码片段的结果:

Original array         : [A, C, B, D, A, B, E, D, B, C]
Array with no duplicate: [A, B, C, D, E]