📜  在Java中从 ArrayList 获取唯一值(1)

📅  最后修改于: 2023-12-03 15:07:53.582000             🧑  作者: Mango

在Java中从ArrayList获取唯一值

在Java的ArrayList中,如果需要获取唯一值,可以通过以下方式实现。

使用Set接口

可以使用Java的Set接口来获取唯一值。Set是一个内部不允许重复元素的集合。

以下是使用Set获取唯一值的示例代码:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

public class UniqueValues {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("apple");
        list.add("orange");
        list.add("banana");

        Set<String> uniqueValues = new HashSet<String>(list);
        System.out.println("Unique values: " + uniqueValues);
    }
}

输出结果为:

Unique values: [orange, banana, apple]
使用Stream API

Java 8引入了Stream API,可以使用它来处理ArrayList中的数据,并获取唯一值。

以下是使用Stream API获取唯一值的示例代码:

import java.util.ArrayList;
import java.util.stream.Collectors;

public class UniqueValues {

    public static void main(String[] args) {

        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("apple");
        list.add("orange");
        list.add("banana");

        ArrayList<String> uniqueValues = list.stream().distinct().collect(Collectors.toList());
        System.out.println("Unique values: " + uniqueValues);
    }
}

输出结果为:

Unique values: [apple, banana, orange]
总结

以上是使用Set接口和Stream API获取ArrayList中唯一值的方法。对于大型的数据集,使用Stream API有更好的性能表现。