集合转Map
使用
java.util.stream.Collectors
类的toMap()
方法转为Map 集合
,其内部调用了 Map 接口的merge()
方法,而merge()
方法会先调用Objects.requireNonNull()
方法判断 value 是否为空
list.stream().collect(Collectors.toMap());
注意:list是要转换的List表名,toMap()内是需要的list里面的内容
基本类型数组转List
1、使用Arrays.asList(list)
List list = Arrays.asList(strArray);
注:将数组转换List后,不能对List增删,只能查改,否则抛异常,因为
Arrays.asList()
方法返回的并不是java.util.ArrayList
,而是java.util.Arrays
的一个内部类,这个内部类并没有实现集合的修改方法或者说并没有重写这些方法,所以使用add()、remove()、clear()会抛出异常
2、通过ArrayList构造器
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray)) ;
可以对List进行增删改查操作(数据量不大)
3、通过集合工具类Collections.addAll()
ArrayList< String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);
可以对List进行增删改查操作(数据量非常大)
4、使用stream
List<Integer> list = Arrays.stream(b).boxed().collect(Collections.toList());
b是需要转换的基本类型数组
List转基本类型数组
1、使用for循环
2、使用toArray()
List<Integer> list = new ArrayList<Integer>(){{add(1);add(2);add(3);}};
Object[] array = list.toArray();
3、使用stream
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
其他
1、Integer数组转为int数组
Arrays.stream(a).mapToInt(Integer::intValue).toArray();
2、int数组转为Integer数组
Arrays.stream(a).boxed().toArray(Integer[]::new);