如何经过一行代码初始化ArrayList

常见方式

实际上,也许“最好”的方式,就是你写的这个方式,由于它不用再建立新的List:java

ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");

只是这个方式看上去要多写些代码,让人郁闷git

匿名内部类

固然,还有其余方式,例如,写一个匿名内部类,而后在其中作初始化(也被称为 brace initialization):github

ArrayList<String> list = new ArrayList<String>() {{
    add("A");
    add("B");
    add("C");
}};

可是,我不喜欢这个方式。只是为了作个初始化,却要在ArrayList的同一行后面加这么一坨代码。spa

Arrays.asList

List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");

Collections.singletonList

List<String> places = Collections.singletonList("Buenos Aires");

注意:后面的这两种方式,获得的是一个定长的List(若是add操做会抛异常)。code

若是你须要一个不定长的List,能够这样作:orm

ArrayList<String> places = new ArrayList<>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
相关文章
相关标签/搜索