Java基础:四种初始化ArrayList的方式

在Java中,初始化ArrayList时直接赋值有以下几种常见方式:

  1. 构造器传入集合

    List<String> list = new ArrayList<>(Arrays.asList("item1", "item2", "item3"));
    

    或者在Java 9及以上版本中使用List.of()方法创建不可变列表:

    List<String> list = new ArrayList<>(List.of("item1", "item2", "item3"));
    
  2. 使用匿名内部类(不常用且可能引起混淆,实际编程中很少这样用):

    // 不推荐此做法,仅作展示
    ArrayList<String> list = new ArrayList<String>() {{
        add("item1");
        add("item2");
        add("item3");
    }};
    

    注意:这种方式利用了匿名内部类的实例初始化块,但不是标准做法,因为它违反了“面向接口”的编程原则,且可能导致代码难以理解。

  3. 通过循环或流API填充

    // 循环添加
    List<Integer> list = new ArrayList<>();
    for (int i = 0; i < 5; i++) {
        list.add(i);
    }
    
    // Java 8+ 使用Stream API
    List<Integer> list2 = Stream.of(1, 2, 3, 4, 5).collect(Collectors.toCollection(ArrayList::new));
    
  4. 使用addAll方法

    List<Integer> initialData = Arrays.asList(1, 2, 3);
    List<Integer> list = new ArrayList<>();
    list.addAll(initialData);
    

通常最常见的是方式一是直接在构造ArrayList时传入已有的集合,这种方式简洁高效。不过,如果初始数据较小并且已知,直接在声明时初始化也是最佳实践之一。对于较大的数据集或者动态生成的数据,使用循环或流API则更为灵活。

作者:学亮编程手记

物联沃分享整理
物联沃-IOTWORD物联网 » Java基础:四种初始化ArrayList的方式

发表回复