我们创建一个Set为:

Set myset = new HashSet()

我们如何在Java中创建一个列表?


当前回答

有时候,你可能想要一个新的LinkedList,而不是一个新的ArrayList。从ArrayList开始,如果你有性能问题,并且有证据表明是这个列表出了问题,然后在这个列表上进行大量的添加和删除,然后-不是之前-切换到LinkedList,看看情况是否有所改善。但总的来说,还是用数组列表就好了。

其他回答

有很多方法可以创建Set和List。HashSet和ArrayList就是两个例子。现在在集合中使用泛型也相当普遍。我建议你看看它们是什么

这是对java内置集合的一个很好的介绍。http://java.sun.com/javase/6/docs/technotes/guides/collections/overview.html

试试这个:

List<String> messages = Arrays.asList("bla1", "bla2", "bla3");

Or:

List<String> list1 = Lists.mutable.empty(); // Empty
List<String> list2 = Lists.mutable.of("One", "Two", "Three");

用Java 8做同样的事情有更多的选择,不是更好,也不是更差,只是不同,如果你想用列表做一些额外的工作,Streams将为你提供更多的选择(过滤,映射,减少等)。

List<String> listA = Stream.of("a", "B", "C").collect(Collectors.toList());
List<Integer> listB = IntStream.range(10, 20).boxed().collect(Collectors.toList());
List<Double> listC = DoubleStream.generate(() -> { return new Random().nextDouble(); }).limit(10).boxed().collect(Collectors.toList());
LinkedList<Integer> listD = Stream.iterate(0, x -> x++).limit(10).collect(Collectors.toCollection(LinkedList::new));

List和Set一样只是一个接口。

HashSet是Set的一种实现,它具有添加/查找/删除性能方面的某些属性,ArrayList是List的裸实现。

如果你看了相关接口的文档,你会发现“所有已知的实现类”,你可以决定哪一个更适合你的需求。

可能是数组列表。

此外,如果你想创建一个列表,其中有东西(尽管它将是固定大小):

List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You");