emi*_*lly 5 java list arraylist
我在下面的代码片段中添加了元素 ArrayList
List <Integer> myList = new ArrayList();
myList.add(1);
myList.add(2);
myList.add(3);
myList.add(4);
Run Code Online (Sandbox Code Playgroud)
我正在寻找更加可读和优雅的方式来添加元素ArrayList,如下所示.我知道下面是不允许的,但有没有其他可读/优雅的方式?
myList.add(1).add(2).add(3).add(4)
Run Code Online (Sandbox Code Playgroud)
更新: -我在java 1.6上
jlo*_*rdo 12
在实例化之前知道元素时:
List<Integer> myList = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
Run Code Online (Sandbox Code Playgroud)
或者如果要将它们添加到现有列表中:
List<Integer> myList = new ArrayList<>();
// do stuff
myList.addAll(Arrays.asList(1, 2, 3, 4));
Run Code Online (Sandbox Code Playgroud)
为了使其更具可读性,您可以
import static java.util.Arrays.asList;
Run Code Online (Sandbox Code Playgroud)
并简单地使用
List<Integer> myList = new ArrayList<>(asList(1, 2, 3, 4));
Run Code Online (Sandbox Code Playgroud)
要么
List<Integer> myList = new ArrayList<>();
// do stuff
myList.addAll(asList(1, 2, 3, 4));
Run Code Online (Sandbox Code Playgroud)
如果你知道你永远不想在列表中添加更多元素,你可以简单地写
List<Integer> myList = Arrays.asList(1, 2, 3, 4);
Run Code Online (Sandbox Code Playgroud)
或者使用静态导入:
List<Integer> myList = asList(1, 2, 3, 4);
Run Code Online (Sandbox Code Playgroud)
番石榴方式(虽然列表是不可变的):
ImmutableList<Integer> myList = ImmutableList.<Integer>builder()
.add(1)
.add(2)
.add(3)
.build();
Run Code Online (Sandbox Code Playgroud)
或者这样:
List <Integer> myList = Lists.newArrayList(1,2,3);
Run Code Online (Sandbox Code Playgroud)
或者
List <Integer> myList = Ints.asList(1,2,3);
Run Code Online (Sandbox Code Playgroud)