java怎么用一行代码初始化ArrayList

如题所述

我愿意创建列表的选项,以测试的东西。我正在做:ArrayList<String> places = new ArrayList<String>(); places.add("Buenos Aires"); places.add("Córdoba"); places.add("La Plata"); 我重构代码做:ArrayList<String> places = new ArrayList<String>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata")); 有这样做的更好的方法吗?感谢阅读 ! 解决方法 1: 其实,可能要初始化的"最佳"方式,ArrayList 是你写的方法,因为它不需要创建一个新的 List 以任何方式:ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); 渔获是相当多的键入所需,请参阅 list 实例。有如使一个匿名的内部类的一个实例初始值设定项 (也称为一种"双大括号初始化") 的方法:ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }} 不过,我不太喜欢该方法,因为什么你最终是一个类的子类 ArrayList 有一个实例初始值设定项和这类只是为了创建一个对象 —— 只是看起来像我有点大材小用。有何好是如果接受 项目硬币收集文本的建议,我们可以有 Java 7 中的列表中文字:List<String> list = ["A", "B", "C"]; 不幸的是它不会帮助您在这里,因为它将初始化一个 List,而不是 ArrayList,此外,它尚未提供,如果它以往任何时候都将和。 解决方法 2: 如果你,只是将它声明为列表中没有要 ArrayList,它会更简单呢?List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata"); 解决方法 3: import com.google.common.collect.ImmutableList; .... List<String> places = ImmutableList.of("Buenos Aires", "Córdoba", "La Plata"); 解决方法 4: 漂亮的很多,最简单的方法就是 List<String> strings = new ArrayList<String>(asList("foo", "bar", "baz")),如果您必须有一个 ArrayList,否则您应该在大多数情况下只是使用List<String> strings = asList("foo", "bar", "baz")你说你已宣布作为列表一个 ArrayList 在您的代码中,但您不应该做的除非您正在使用的一些成员 ArrayList 在这并不是 List,例如 ArrayList.ensureCapacity()。通常您应该只是声明变量,您要使用,它的列表通常是最通用接口的 List,和初始化它们在具体的实施,例如 ArrayList 或LinkedList。使用不实现,否则为你会发现您要在多个位置更改,当您想要使用另一种实现的接口。另一个例子将总是声明变量,一个 InputStream 即使它通常是一个 FileInputStream,这是因为一天很快就您或其他人会想要使用一些另类的 InputStream。 解决方法 5: 您可以创建一个工厂方法:public static ArrayList<String> createArrayList(String ... elements) { ArrayList<String> list = new ArrayList<String>(); for (String element : elements) { list.add(element); } return list; } .... ArrayList<String> places = createArrayList( "S�0�0o Paulo", "Rio de Janeiro", "Brasília"); 但并不比你第一次的重构。更新: 更大的灵活性,它可以是一种通用:public static <T> ArrayList<T> createArrayList(T ... elements) { ArrayList<T> list = new ArrayList<T>(); for (T element : elements) { list.add(element); } return list; } 解决方法 6: 只是注意到它在一个很简单的工作方法,如下所示: ArrayList arrList = new ArrayList() {"1",2,3,"4" }; List<Customer> listCustomer = new List<Customer>() { new Customer(), new Customer(), new Customer() }; 这C# 3.0 不双支撑所需的工作。希望这有助于。 解决方法 7: 若要设置列表填充 N 的默认对象的副本:ArrayList<Object> list = new ArrayList<Object>( Collections.nCopies(1000, new Object()));
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-13
List list = new ArrayList();

List代表集合,其子类ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。本回答被网友采纳

java怎么用一行代码初始化ArrayList
1.无法用一行代码就完成初始化。2.只能先实例化:List<String> lst = new ArrayList<String>();3.然后调用: lst.add("1");lst.add("2");...来完成初始化 可以使用下面的方式实现:List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);

java怎么用一行代码初始化ArrayList
import java.util.ArrayList;import java.util.Arrays;public class Test {public static void main(String[] args) {\/\/方案一: 比较传统的初始化和添加元素 [推荐]ArrayList<Integer> list1 = new ArrayList<Integer>();list1.add(6);\/\/ 添加元素list1.add(2);list1.add(8);System.out.print...

java怎么用一行代码初始化ArrayList
ArrayList<Integer> a=new ArrayList<Integer>();还有就是这行就算是初始化了(因为new了,调用了构造函数,说不能一行的纯属扯淡)就好比你一个数组 int[] a;\/\/这个是未初始化的 int[] a=new int[10];\/\/这个是初始化了的

java怎么用一行代码初始化ArrayList
你可以这样初始化,然后把“类型”改成你需要在此ArrayList对象里存储的数据的类型,注意必须是引用类型,int和char等的都不行。ArrayList<类型> list = new ArrayList <类型>();记得还要在用了这行代码的java文件的开头添加这样一行代码,不然编译器会报错:import java.util.ArrayList;...

java怎么用一行代码初始化ArrayList
List list = new ArrayList();如果有泛型的话就也可以使用

java怎么用一行代码初始化ArrayList
List list = new ArrayList();List代表集合,其子类ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

java怎么用一行代码初始化ArrayList
Aires", "Córdoba", "La Plata")); 有这样做的更好的方法吗?感谢阅读 ! 解决方法 1: 其实,可能要初始化的"最佳"方式,ArrayList 是你写的方法,因为它不需要创建一个新的 List 以任何方式:ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B");...

...Java中,泛型数组的数组怎么初始化?(就是ArrayList数组)
可以试试:import java.util.ArrayList;public class Test{ public static void main(String[]args){ ArrayList<ArrayList<Integer>> als = new ArrayList<ArrayList<Integer>> ();ArrayList<Integer> a1 = new ArrayList<Integer>();ArrayList<Integer> a2 = new ArrayList<Integer>();ArrayList<Integer...

问下各位啊,在java中怎么用point数组初始化ArrayList.有问题的代码:
Point(-1,-1),new Point(-1,-1),new Point(-1,-1),new Point(-1,-1),new Point(-1,-1),new Point(-1,-1)};public static ArrayList<Point> List=new ArrayList<Point>();List.toArray(Place);另变量名首字母该小写。。 。。 。。静态的应该都大写。。 。。 。。

java如何从list对象集合中获取所有对象的某一属性值(一行
使用Java编程语言从list对象集合中获取所有对象的某一属性值,可以采用如下一行代码实现:List valueList = new ArrayList();for(Live o : List){valueList.add(o.getLiveStatus());} 这一行代码的核心逻辑如下:首先,定义一个ArrayList对象valueList用于存储目标属性值。接着,使用for-each循环遍历传入...

相似回答