我们创建一个Set为:

Set myset = new HashSet()

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


当前回答

你可以在这里使用双大括号初始化:

List<String> list = new ArrayList<String>(){
  {
   add("a");
   add("b");
  }
};

其他回答

List arrList = new ArrayList();

最好按照下面的建议使用泛型:

List<String> arrList = new ArrayList<String>();

arrList.add("one");

如果你使用LinkedList。

List<String> lnkList = new LinkedList<String>();

试试这个:

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");
List myList = new ArrayList();

或使用泛型(Java 7或更高版本)

List<MyType> myList = new ArrayList<>();

或使用泛型(旧java版本)

List<MyType> myList = new ArrayList<MyType>();

你可以在这里使用双大括号初始化:

List<String> list = new ArrayList<String>(){
  {
   add("a");
   add("b");
  }
};

用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));