Map集合中存储的是键值对,键不能重复,值可以重复。List里存放的对象是有序的,同时也是可以重复的,通过索引来操作List。本文主要介绍 Java 中 Map字典(HashMap)和List列表(ArrayList)初始化的方法,以及相关的示例代码。

1、HashMap初始化

1)常规方法初始化

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Map m1 = new HashMap<String, String>();
    m1.put("C", "cjavapy"); 
    m1.put("Java", "code");
    System.out.println(m1);
    System.exit(0); //success
  }
}

2)使用初始化器

Java 8及以上版本,可以在匿名子类中使用初始化器来实现。

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Map m1 = new HashMap() {{
        put("C", "cjavapy");
        put("Java", "code");
    }};
    System.out.println(m1);
    System.exit(0); //success
  }
}

3)Stream.of()

Java 8中,可以使用Streams/collector来初始化。

import java.util.*;
import static java.util.stream.Collectors.toMap;
import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream;
 
public class Main {
  public static void main(String[] args) {
    Map m1 = Stream.of(
         new SimpleEntry<>("key1", "value1"),
         new SimpleEntry<>("key2", "value2"),
         new SimpleEntry<>("key3", "value3"))
        .collect(toMap(SimpleEntry::getKey, SimpleEntry::getValue)); 
    System.out.println(m1);
    System.exit(0); //success
  }
}

2、ArrayList初始化

1)常规方法初始化

import java.util.*;
import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream;
 
public class Main {
  public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("C");
    list.add("Java");
    list.add("Python");
    list.add("cjavapy");
    System.out.println(list);
    System.exit(0); //success
  }
}

2)Arrays.asList

import java.util.*;
import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream;
 
public class Main {
  public static void main(String[] args) {
    List<String> list = Arrays.asList("C", "Java", "Python","cjavapy");
    System.out.println(list);
    System.exit(0); //success
  }
}

3)使用初始化器

import java.util.*;
import java.util.AbstractMap.SimpleEntry;
import java.util.stream.Stream;
 
public class Main {
  public static void main(String[] args) {
    List<String> list = new ArrayList<String>() {{
    add("C");
    add("Java");
    add("Python");
    add("cjavapy");
    }};;
    System.out.println(list);
    System.exit(0); //success
  }
}

推荐文档