Java 集合使用

81 阅读1分钟

1、集合转数组

1、数组转List

# 1. int 类型的数组
int [] arr = {1,2};
List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());

# 2. Integer 类型数组
Integer [] arr = {1,2};
List<Integer> list = Arrays.asList(arr);

2、List转数组

# 1.转为Integer 数组
List<Integer> list = new ArrayList<>();
Integer[] array = list.toArray(new Integer[0]);

# 2.转为int 数组
List<Integer> list = new ArrayList<>();
int[] array = list.stream().filter(Objects::nonNull).mapToInt(Integer::valueOf).toArray();

2、Stream流操作

@Data
class User {
    private String id;
    private String name;
}

# 1.filter 筛选过滤
List<User> list = new ArrayList<>();
list.stream().filter(Objects::nonNull).collect(Collectors.toList());

# 2.Map筛选属性
list.stream().map(User::getName).collect(Collectors.toList());

# 3.distinct去重
list.stream().map(User::getName).distinct().collect(Collectors.toList());

# 4.sort排序
list.stream().map(User::getName)().sorted().collect(Collectors.toList());

list.stream().map(User::getName).sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList());

#5. foreach遍历
list.stream().foreach(item->{
    // 业务
});