在实例化时将ArrayList <Boolean>的所有值设置为false

All*_*lan 20 java android

有没有一种简单的方法来创建一个ArrayList<Boolean>使用Java并最初将它们都设置为false而不循环并将每个都分配为false?

Pra*_*ran 34

这样做

List<Boolean> list=new ArrayList<Boolean>(Arrays.asList(new Boolean[10]));
Collections.fill(list, Boolean.TRUE);
Run Code Online (Sandbox Code Playgroud)

  • `new Boolean(true)`创建不必要的对象.你应该使用`Boolean.TRUE`代替. (4认同)

Ada*_*old 6

您可以使用以下fill方法Collections:

Collections.fill(list, Boolean.FALSE);
Run Code Online (Sandbox Code Playgroud)

另一种选择可能是使用数组而不是List:

boolean[] arr = new boolean[10];
Run Code Online (Sandbox Code Playgroud)

这将自动初始化为false自boolean的默认值false.


Zhe*_*lov 6

使用Collections.nCopies:

List<Boolean> list = new ArrayList<>(Collections.nCopies(n, false));
Run Code Online (Sandbox Code Playgroud)