【问题标题】:Initialising An ArrayList [duplicate]初始化一个ArrayList [重复]
【发布时间】:2011-05-11 22:04:38
【问题描述】:

我认为这是一个非常简单的问题。如何初始化一个名为 time 的 ArrayList。

谢谢。

【问题讨论】:

标签: java list collections


【解决方案1】:

替代方案:

使用谷歌收藏,你可以写:

import com.google.collect.Lists.*;

List<String> time = newArrayList();

您甚至可以指定List 的初始内容,如下所示:

List<String> time = newArrayList("a", "b", "c");

【讨论】:

    【解决方案2】:

    List time = new ArrayList();
    

    gt 或 eq 1.5 jdk

    List<T> time = new ArrayList<T>();
    

    【讨论】:

    • 这是 java 1.4 代码。请改用List&lt;String&gt; time = new ArrayList&lt;String&gt;();
    【解决方案3】:

    这取决于您所说的初始化。要使用对新 ArrayList 的引用值简单地初始化变量 time,您可以这样做

    ArrayList<String> time = new ArrayList<String>();
    

    (将String替换为您要存储在列表中的对象的类型。)

    如果你想把东西放在列表中,你可以这样做

    ArrayList<String> time = new ArrayList<String>();
    time.add("hello");
    time.add("there");
    time.add("world");
    

    你也可以

    ArrayList<String> time = new ArrayList<String>(
        Arrays.asList("hello", "there", "world"));
    

    或者使用实例初始化器

    ArrayList<String> time = new ArrayList<String>() {{
        add("hello");
        add("there");
        add("world");
    }};
    

    【讨论】:

    • ArrayList&lt;String&gt; time = new ArrayList&lt;String&gt;(); ?为什么不List&lt;String&gt; time = new ArrayList&lt;String&gt;(); ? (变量应尽可能指向接口)
    • 但是我应该如何判断这在 OP 的场景中是否可行? (也许他在下面有time.ensureCapacity(1000)。)为什么要把这样一个初学者问题复杂化?
    【解决方案4】:
    ArrayList<String> time = ArrayList.class.newInstance();
    

    【讨论】:

    • 不要这样写代码。不建议其他人编写这样的代码。它比new 慢得多……而且您必须处理2 个检查异常。 (而且由于您的代码不处理异常,因此在技术上也是错误的。)
    【解决方案5】:

    Arrays.asList 允许您从值列表构建List。

    然后您可以通过将Arrays.asList 生成的只读列表传递给ArrayList 来构建您的ArrayList。

    ArrayList time = new ArrayList(Arrays.asList("a", "b", "c"));
    

    但是,如果您只需要一个声明为内联的 List,只需单独使用 Arrays.asList。

    List time = Arrays.asList("a", "b", "c");
    

    【讨论】:

    • 在构造函数之前,我定义了private int day等属性;私人双小时;
    猜你喜欢
    • 2012-04-30
    • 2018-09-04
    • 2011-02-15
    • 2016-01-29
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2010-11-03
    相关资源
    最近更新 更多