java list类型转换
java常用的list转换
int[]data={4,5,3,6,2,5,1};
//int[]转List<Integer>
List<Integer>list1=Arrays.stream(data).boxed().List());
//Arrays.stream(arr)可以替换成IntStream.of(arr)。
//1.使用Arrays.stream将int[]转换成IntStream。
java arraylist用法//2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer>。
//3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer>。
//int[]转Integer[]
Integer[]integers1=Arrays.stream(data).boxed().toArray(Integer[]::new);
//前两步同上,此时是Stream<Integer>。
//然后使用Stream的toArray,传入IntFunction<A[]>generator。
//这样就可以返回Integer数组。
//不然默认是Object[]。
//List<Integer>转Integer[]
Integer[]Array(new Integer[0]);
//调用toArray。传入参数T[]a。这种用法是目前推荐的。
//List<String>转String[]也同理。
//List<Integer>转int[]
int[]arr1=list1.stream().mapToInt(Integer::valueOf).toArray();
//想要转换成int[]类型,就得先转成IntStream。
//这里就通过mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream
//而IntStream中默认toArray()转成int[]。
//Integer[]转int[]
int[]arr2=Arrays.stream(integers1).mapToInt(Integer::valueOf).toArray();
//思路同上。先将Integer[]转成Stream<Integer>,再转成IntStream。
//Integer[]转List<Integer>
List<Integer>list2=Arrays.asList(integers1);
//最简单的方式。String[]转List<String>也同理。
//同理<br>String[]strings1={"a","b","c"};
//String[]转List<String>
List<String>list3=Arrays.asList(strings1);
//List<String>转String[]
String[]Array(new String[0]);
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
public class ArrayListExample{
public static void main(String[]args){
ArrayList<Integer>numbersList=new ArrayList<>(Arrays.asList(1,1,2,3,3,3,4,5,6,6,6,7,8));
System.out.println(numbersList);
LinkedHashSet<Integer>hashSet=new LinkedHashSet<>(numbersList);
ArrayList<Integer>listWithoutDuplicates=new ArrayList<>(hashSet);
System.out.println(listWithoutDuplicates);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论