一、将[1,2,3,4,5]转为”1->2->3->4->5”

  1. List<Integer> list = Arrays.asList(1,2,3,4,5);
  2. String list2 = list.stream().map(String::valueOf).collect(Collectors.joining("->"));
  1. List<Integer> list = Arrays.asList(1,2,3,4,5);
  2. String list2 = list.stream().map(i -> String.valueOf(i)).reduce((a,b)-> a+"->"+b).get();

二、类型转换

  1. int[] 转为 List

    1. int[] arr = new int[]{1,2,3,4,5};
    2. List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
  2. int[] 转为 Integer[]

    1. int[] arr = new int[]{1,2,3,4,5};
    2. Integer[] arr2 = Arrays.stream(arr).boxed().toArray(Integer[]::new);
  3. List转为int[]

    1. List<Integer> list = Arrays.asList(1,2,3,4,5);
    2. int[] arr = list.stream().mapToInt(Integer::valueOf).toArray();
  4. List转为Integer[]

    1. List<Integer> list = Arrays.asList(1,2,3,4,5);
    2. Integer[] arr = list.stream().toArray(Integer[]::new);
    3. //Integer[] arr = list.toArray(new Integer[0]);
  5. integer[]转为int[]

    1. Integer[] arr = new Integer[] {1,2,3,4,5};
    2. int[] arr2 = Arrays.stream(arr).mapToInt(Integer::valueOf).toArray();
  6. integer[]转为List

    1. Integer[] arr = new Integer[] {1,2,3,4,5};
    2. List<Integer> list = Arrays.stream(arr).collect(Collectors.toList());
  7. String[]转List

    1. String[] strs={"1","2","3"};
    2. List<String> list = Arrays.stream(strings).map(Integer::parseInt).collect(Collectors.toList());
  8. list转String[]

    1. List<Integer> list = Arrays.asList(1,2,3,4,5);
    2. String[] strArray = list.stream().map(String::valueOf).toArray(String[]::new);

    三、map应用

    使用Stream统计List里面相同字符的数量,并返回Map

    1. List<Character> list = Arrays.asList('a','b','a','c','d','d','d');
    2. Map<Character,Integer> map = new HashMap<Character,Integer>();
    3. map =list.stream().collect(Collectors.toMap(x -> x ,x -> 1,(n1,n2)->n1+n2));
    4. map.forEach((key,value)->{
    5. System.out.println(key+":"+value);
    6. });

    四、经典转化

  9. 数组字符串转为数组

    1. String arrayStr = "[10,9,2,5,3,7,101,18]";
    2. int[] nums = Arrays.stream(arrayStr.replace("[", "").replace("]", "").split(",")).mapToInt(Integer::parseInt).toArray();
    3. System.out.println(Arrays.toString(nums));