下面我来详细讲解下关于List、Map、Stream初始化方式的完整攻略。
初始化List
1. 使用List接口的实现类实例化
List接口有多个实现类,可以通过这些实现类来创建不同类型的List。比如,ArrayList、LinkedList、Vector等。
List<String> list1 = new ArrayList<>();
List<String> list2 = new LinkedList<>();
List<String> list3 = new Vector<>();
2. 使用Arrays工具类
利用Arrays的asList()
方法可以将数组转成List。需要注意的是,这种方式初始化的List是不可变的。
String[] array = {"a", "b", "c"};
List<String> list = Arrays.asList(array);
3. 使用Collections工具类
Collections工具类中有一个nCopies(int n, T o)
方法,可以将指定元素重复插入到List中,生成新的List。
List<String> list = Collections.nCopies(3, "hello");
初始化Map
1. 使用HashMap、LinkedHashMap、TreeMap等实现类实例化
Map接口有多个实现类,可以通过这些实现类来创建不同类型的Map。比如,HashMap、LinkedHashMap、TreeMap等。
Map<String, String> map1 = new HashMap<>();
Map<String, String> map2 = new LinkedHashMap<>();
Map<String, String> map3 = new TreeMap<>();
2. 使用Java8新增的方法
Java8新增了一些方法,可以使用Map.of(key1, value1, key2, value2, ...)
来创建不可变Map,Map.ofEntries()
来创建可变Map。
Map<String, String> map1 = Map.of("key1", "value1", "key2", "value2");
Map.Entry<String, String> entry1 = new AbstractMap.SimpleEntry<>("key1", "value1");
Map.Entry<String, String> entry2 = new AbstractMap.SimpleEntry<>("key2", "value2");
Map<String, String> map2 = Map.ofEntries(entry1, entry2);
初始化Stream
1. 使用Collection的stream()方法
Stream是对集合操作的抽象,在Collection集合中有stream()
方法可以创建Stream。
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
2. 使用Arrays的stream()方法
还可以使用Arrays的stream(T[] array)
方法将数组转成Stream。
String[] array = {"a", "b", "c"};
Stream<String> stream = Arrays.stream(array);
除此之外,还有一些其他的初始化方式,比如通过文件、网络等方式生成Stream,如果有需要可以了解一下。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于List、Map、Stream初始化方式 - Python技术站