package com.conpany.project;
import java.util.Comparator;
import java.util.Date;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.fastjson.JSONArray;
import com.company.project.dao.UserMapper;
import com.company.project.domain.User;
import com.company.project.domain.UserExample;
public class TestJdk extends Tester {
@Autowired
private UserMapper userMapper;
@Test
public void test() {
UserExample userExample = new UserExample();
List<User> list = userMapper.selectByExample(userExample);
List<User> collect = list.stream().filter(item -> item.getSex().equals(1)).collect(Collectors.toList());
List<Integer> integerList = list.stream().map(item -> item.getId()).collect(Collectors.toList());
List<User> collect1 = list.stream().distinct().collect(Collectors.toList());
list.sort(Comparator.comparing(User::getId));
list.sort(Comparator.comparing(User::getId).thenComparing(User::getSex));
list.sort(Comparator.comparing(User::getId).reversed());
list.sort(Comparator.comparing(User::getId).thenComparing(User::getSex).reversed());
Map<String, User> collect2 =
list.stream().collect(Collectors.toMap(User::getNickName, item -> item, (t1, t2) -> t1));
int sum = list.stream().mapToInt(User::getSex).sum();
IntSummaryStatistics intSummaryStatistics = list.stream().mapToInt(item -> item.getSex()).summaryStatistics();
Date minDate = list.stream().map(User::getRegisterDate).min(Date::compareTo).get();
Date maxDate = list.stream().map(User::getRegisterDate).max(Date::compareTo).get();
Integer maxId = list.stream().max(Comparator.comparingInt(User::getId)).get().getId();
User minUser = list.stream().min(Comparator.comparingInt(User::getId)).get();
System.err.print(list);
Map<String, List<User>> gr =
list.stream().collect(Collectors.groupingBy(User::getNickName));
Object toJSON = null;
for (Map.Entry<String, List<User>> listEntry : gr.entrySet()) {
List<User> listEntryValue = listEntry.getValue();
toJSON = JSONArray.toJSON(listEntryValue);
}
System.err.print(list);
}
}