JAVA中 List Map 数组 初始化的多种方式

List初始化的方式

在 Java 中,List 的初始化有多种方式,下面列出了几种常见的方法:

  1. 使用 ArrayList 进行初始化

    List<String> list = new ArrayList<>();
    
  2. 使用 Arrays.asList()

    List<String> list = Arrays.asList("apple", "banana", "orange");
    // 注意:`Arrays.asList()` 返回的是固定大小的列表,不能增加或删除元素。
    
  3. 使用 Collections.singletonList()(初始化一个只包含一个元素的不可变列表):

    List<String> list = Collections.singletonList("apple");
    
  4. 使用 Java 9+ 的 List.of() 方法(不可变列表):

    List<String> list = List.of("apple", "banana", "orange");
    
  5. 使用 StreamCollectors.toList()

    List<String> list = Stream.of("apple", "banana", "orange").collect(Collectors.toList());
    
  6. 使用 new ArrayList<>(Arrays.asList()) 来创建可变列表

    List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
    // 可以对该列表进行增删操作。
    

根据你的需求,如果需要一个可修改的列表,推荐使用 new ArrayList<>(),如果需要不可修改的列表,可以使用 List.of()

Map初始化的方式

在 Java 中,Map 的初始化有多种方式,下面列出了几种常见的方法:

  1. 使用 HashMap 进行初始化

    Map<String, Integer> map = new HashMap<>();
    
  2. 使用 Collections.singletonMap()(创建一个只包含一个键值对的不可变 Map):

    Map<String, Integer> map = Collections.singletonMap("key", 1);
    
  3. 使用 Map.of()(Java 9+)创建不可变 Map

    • 创建最多 10 个键值对:
      Map<String, Integer> map = Map.of("key1", 1, "key2", 2, "key3", 3);
      
    • 注意:Map.of() 创建的 Map 是不可修改的。
  4. 使用 Map.ofEntries()(Java 9+)创建不可变 Map(可用于较多键值对)

    Map<String, Integer> map = Map.ofEntries(
        Map.entry("key1", 1),
        Map.entry("key2", 2),
        Map.entry("key3", 3)
    );
    
  5. 使用 new HashMap<>()put() 方法(手动添加键值对):

    Map<String, Integer> map = new HashMap<>();
    map.put("key1", 1);
    map.put("key2", 2);
    map.put("key3", 3);
    
  6. 使用 StreamCollectors.toMap()

    Map<String, Integer> map = Stream.of(new Object[][] {
        { "key1", 1 },
        { "key2", 2 },
        { "key3", 3 },
    }).collect(Collectors.toMap(data -> (String) data[0], data -> (Integer) data[1]));
    
  7. 使用 new HashMap<>(Map.of()) 创建可修改的 Map

    Map<String, Integer> map = new HashMap<>(Map.of("key1", 1, "key2", 2));
    // 可以对该 Map 进行增删操作
    

根据你的需求,如果需要可变的 Map,推荐使用 HashMap,如果需要不可变的 Map,可以使用 Map.of()Map.ofEntries()

String[] 初始化的方式

在 Java 中,初始化 String[](字符串数组)有多种方式,下面列出了一些常见的方法:

  1. 指定大小进行初始化(元素默认为 null

    String[] array = new String[5]; // 创建一个长度为 5 的数组,所有元素初始为 null
    
  2. 使用大括号直接初始化数组

    String[] array = {"apple", "banana", "orange"};
    
  3. 使用 new 关键字并同时初始化

    String[] array = new String[] {"apple", "banana", "orange"};
    
  4. 逐个赋值

    String[] array = new String[3];
    array[0] = "apple";
    array[1] = "banana";
    array[2] = "orange";
    
  5. 从列表转换为数组(适用于有 List<String> 时):

    List<String> list = Arrays.asList("apple", "banana", "orange");
    String[] array = list.toArray(new String[0]);
    
  6. 使用 StreamCollectors.toList() 转换成数组(Java 8+):

    String[] array = Stream.of("apple", "banana", "orange").toArray(String[]::new);
    

每种方法可以根据不同的需求进行选择。如果你需要明确指定数组的长度,可以使用第一种方式;如果你想同时初始化元素,可以选择第二种或第三种方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值