我们创建一个Set为:
Set myset = new HashSet()
我们如何在Java中创建一个列表?
我们创建一个Set为:
Set myset = new HashSet()
我们如何在Java中创建一个列表?
当前回答
如果你需要一个单一实体的可序列化的不可变列表,你可以使用:
List<String> singList = Collections.singletonList("stackoverlow");
其他回答
使用谷歌Collections,您可以在Lists类中使用以下方法
import com.google.common.collect.Lists;
// ...
List<String> strings = Lists.newArrayList();
List<Integer> integers = Lists.newLinkedList();
对于变量参数初始化和从Iterable<T>初始化有重载。
这些方法的优点是,您不需要像使用构造函数那样显式地指定泛型参数——编译器将根据变量的类型推断出它。
此外,如果你想创建一个列表,其中有东西(尽管它将是固定大小):
List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You");
一个例子:
List somelist = new ArrayList();
您可以查看javadoc for List,并找到包含在java api中的List接口的所有已知实现类。
在Java 9中,你可以执行以下操作来创建一个不可变的List:
List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
List<Integer> mutableList = new ArrayList<>(immutableList);
使用Eclipse Collections,你可以创建一个这样的List:
List<String> list1 = Lists.mutable.empty();
List<String> list2 = Lists.mutable.of("One", "Two", "Three");
如果你想要一个不可变列表:
ImmutableList<String> list3 = Lists.immutable.empty();
ImmutableList<String> list4 = Lists.immutable.of("One", "Two", "Three");
您可以通过使用原语列表来避免自动装箱。下面是创建int列表的方法:
MutableIntList list5 = IntLists.mutable.empty();
MutableIntList list6 = IntLists.mutable.of(1, 2, 3);
ImmutableIntList list7 = IntLists.immutable.empty();
ImmutableIntList list8 = IntLists.immutable.of(1, 2, 3);
所有8个原语都有变体。
MutableLongList longList = LongLists.mutable.of(1L, 2L, 3L);
MutableCharList charList = CharLists.mutable.of('a', 'b', 'c');
MutableShortList shortList = ShortLists.mutable.of((short) 1, (short) 2, (short) 3);
MutableByteList byteList = ByteLists.mutable.of((byte) 1, (byte) 2, (byte) 3);
MutableBooleanList booleanList = BooleanLists.mutable.of(true, false);
MutableFloatList floatList = FloatLists.mutable.of(1.0f, 2.0f, 3.0f);
MutableDoubleList doubleList = DoubleLists.mutable.of(1.0, 2.0, 3.0);
注意:我是Eclipse Collections的提交者。