1.只进行查询 -- List<String> Arrays.asList(arrays);
-- 因该list由Arrays生成,故特性是只支持get ,set方法不支持add,remove方法
2.少量数据list需要进行增删 --List list = new ArrayList(Arrays.asList(arrays));
String[] arrays = {"1","2"};
List list = new ArrayList(Arrays.asList(arrays));
该list具有增删方法,可以进行add,remove
3.大量数据转list --Collections.addAll(list,arrays);由Collections工具类将数组元素以二进制的形式存入数组length和集合size相同的List,可以进行追加和删改
String[] arrays = {"1","2"};
ArrayList<Object> list = new ArrayList<>();
Collections.addAll(list,arrays);
4.jdk8以上版本使用stream做格式转换
如果JDK版本在1.8以上,可以使用流stream来将下列3种数组快速转为List,分别是int[]、long[]、double[],其他数据类型比如short[]、byte[]、char[],在JDK1.8中暂不支持。由于这只是一种常用方法的封装,不再纳入一种崭新的数组转List方式,暂时算是java流送给我们的常用工具方法吧。
转换代码示例如下:
List<Integer> intList= Arrays.stream(new int[] { 1, 2, 3, }).boxed().collect(Collectors.toList());
List<Long> longList= Arrays.stream(new long[] { 1, 2, 3 }).boxed().collect(Collectors.toList());
List<Double> doubleList= Arrays.stream(new double[] { 1, 2, 3 }).boxed().collect(Collectors.toList());
如果是String数组,可以使用Stream流这样转换:
String[] arrays = {"tom", "jack", "kate"};
List<String> stringList= Stream.of(arrays).collect(Collectors.toList());