Hutool
// JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串
List<User> list = Arrays.asList(new User("zhangsan","pass"),new User("lisi","pass"))
String s = JSONUtil.toJsonStr(list)
// result : [{"pass":"pass","name":"zhangsan"},{"pass":"pass","name":"lisi"}]
// 字符串解析
String html = "{"name":"Something must have been changed since you leave"}"
JSONObject jsonObject = JSONUtil.parseObj(html)
jsonObject.getStr("name")
// result : Something must have been changed since you leave
// JSON转Bean,在JSON里{}是Ojbect(也就是对象)
String html = "{"pass":"pass","name":"zhangsan"},{"pass":"pass","name":"lisi"}"
User user = JSONUtil.toBean(html, User.class)
// 转List<T>,[]是 Array(也就是数组)
String html = "[{"pass":"pass","name":"zhangsan"},{"pass":"pass","name":"lisi"}]"
List<User> users = JSONUtil.toList(JSONUtil.parseArray(html), User.class)
// 当json为map格式时
String str = "{"user":[{"id":"111","name":"zhangsan"},{"id":"222","name":"lisi"}]}"
Map map = (Map)JSONUtil.parse(str)
List<User> user = JSONUtil.toList(JSONUtil.parseArray(map.get("user")), User.class)
Stream
List<String> list = Arrays.asList("2","1");
List<String> collect = Stream.of("1", "2").collect(Collectors.toList());
collect.add("3");
List<User> userList = Arrays.asList(new User("10","9"),new User("100","5"));
List<String> collect1 = userList.stream().map(User::getName).collect(Collectors.toList());
List<User> collect7 = userList.stream().sorted(Comparator.comparing(User::getId)).collect(Collectors.toList());
List<User> collect8 = userList.stream().sorted(Comparator.comparing(User::getTime).reversed()).collect(Collectors.toList());
List<User> zhangsan = userList.stream().filter(user -> user.getName().equals("zhangsan")).collect(Collectors.toList());
long count = list.stream().filter(task -> task.getStatus().equals(JobTaskStatusEnum.COMPLETED.getCode())).count();
Map<String, User> collect2 = userList.stream().filter(user -> user!=null).collect(Collectors.toMap(User::getId, Function.identity(),(k1, k2) -> k2));
Map<String, List<User>> dataMap = userList.stream().collect(Collectors.groupingBy(User::getId, Collectors.mapping(user -> user, Collectors.toList())));
List<User> collect3 = collect2.entrySet().stream().map(u -> u.getValue()).collect(Collectors.toList());
System.out.println(userList.stream().anyMatch(user -> user.getId().equals("0")));
System.out.println(userList.stream().allMatch(user -> user.getId().equals("0")));
System.out.println(userList.stream().noneMatch(user -> user.getId().equals("0")));
userList.forEach(user -> {});
userList.stream().forEach(user -> {});
List<String> collect4 = list.stream().distinct().collect(Collectors.toList());
List<String> collect5 = list.stream().limit(100).collect(Collectors.toList());
List<List<User>> partition = Lists.partition(userList, size);
List<String> collect6 = list.stream().skip(100).collect(Collectors.toList());