在 Java 中创建预填充集

2022-09-01 17:53:45

在Java中,我如何创建在构造时填充的最终集合?我想做类似下面的事情:

static final Set<Integer> NECESSARY_PERMISSIONS 
    = new HashSet<Integer>([1,2,3,6]);

但我不知道Java中的正确语法。


答案 1

试试这个成语:

import java.util.Arrays;

new HashSet<Integer>(Arrays.asList(1, 2, 3, 6))

答案 2

您可以考虑使用番石榴的不可变集

static final Set<Integer> NECESSARY_PERMISSIONS = ImmutableSet.<Integer>builder()
        .add(1)
        .add(2)
        .add(3)
        .add(6)
        .build();
static final Set<String> FOO = ImmutableSet.of("foo", "bar", "baz");

除此之外,这比 快得多(并且空间效率高出约3倍)。HashSet