public static void main(String[] args) {
List<UserModel> list=new ArrayList<UserModel>();
UserModel userModel=new UserModel(1,"张三",new Date(System.currentTimeMillis()),"1110",1);
UserModel userModel1=new UserModel(2,"李四",new Date(System.currentTimeMillis()),"1111",2);
UserModel userModel2=new UserModel(3,"王五",new Date(System.currentTimeMillis()),"1112",2);
UserModel userModel3=new UserModel(4,"小岛",new Date(System.currentTimeMillis()),"1113",2);
list.add(userModel);
list.add(userModel1);
list.add(userModel2);
list.add(userModel3);
//通过list获取一个Int为key,List<object>为value 的map
//Map<Integer,List<TmsTransportPlanItem>>
Map<Integer, List<UserModel>> oneMap = list.stream().collect(Collectors.groupingBy(UserModel::getId));
List<UserModel> models1 = oneMap.get(1);
//list中获取id的list列表
//List<Integer> cityIds
//id返回list集合
List<Integer> idList = list.stream().map(UserModel::getId).collect(Collectors.toList());
//sex返回集合
List<Integer> sexList = list.stream().map(UserModel::getSex).distinct().collect(Collectors.toList());
//姓名list
List<String> nameList = list.stream().map(UserModel::getName).collect(Collectors.toList());
//获取list中不同的id字段。返回一个list<Integer>属性、
List<Integer> newIdList = list.stream().map(UserModel::getId).collect(Collectors.toList());
//根据条件从list中获取一个值,如果没有就直接返回null
//TmsLogisticsOrder exit
UserModel singleModel = list.stream().filter(item -> item.getSex() == 1).findAny().orElse(null);
//获取list中的一个对象的字段返回set
//Set<String> transOrderCodeSet
Set<String> nameSet = list.stream().map(UserModel::getName).collect(Collectors.toSet());
//把list<Ojbect>转成map<int,object>
//Map<Integer, TmsTransportOrder> transOrderMap
Map<Integer, UserModel> modelMap = list.stream().collect(Collectors.toMap(UserModel::getId, item -> item));
//根据条件查找list中对应的值,返回一个list中的一个对象
//TmsLogisticsOrderItem exitItem
UserModel model = list.stream().filter(item -> "张三".equals(item.getName())).findAny().orElse(null);
System.out.println(model);
//获取list<object>中的一个字段,转换成int数组
//Integer[] orderItemIds
Integer[] arrayIds = list.stream().map(UserModel::getId).distinct().toArray(Integer[]::new);
System.out.println(arrayIds);
//获取map<int,List<object>>这样的集合。通过list<ojbect>来进行
//Map<Integer,List<TmsLogisticsOrderItem>> logisticsOrderItemMap
Map<Integer, List<UserModel>> listMap = list.stream().collect(Collectors.groupingBy(UserModel::getId));
System.out.println(listMap);
//获取int数组。通过list<object>
//Integer[] orderIds
Integer[] array = list.stream().map(UserModel::getId).distinct().toArray(Integer[]::new);
System.out.println(array);
//根据条件获取list<object>中的一个值,只要找到任何一个就可以。如果没有那么返回null
//msLogisticsOrder exit
List<UserModel> models = list.stream().filter(item -> item.getName().equals("李四")).collect(Collectors.toList());
System.out.println(models);
//通过list<object>获取set集合
//Set<Integer> warehouseIdWithPermissionSet
Set<Integer> integers = list.stream().map(UserModel::getId).distinct().collect(Collectors.toSet());
//通过单个字符串转换成list进行查询
String str = Collections.singletonList("张三").stream().filter(item -> item.equals("张三")).findFirst().get();
System.out.println(str);
//通过字符串(用逗号隔开的那种)返回一个list
List<String> strings = Arrays.stream(("1,2,3,4,5,6,7,8,9").split(",")).collect(Collectors.toList());
System.out.println(strings);
//获取Map<Iint,Ojbect> 通过list<object>
Map<Integer, UserModel> map = list.stream().collect(Collectors.toMap(UserModel::getId, item -> item));
System.out.println(map);
//获取Map<int,Ojbect> 通过list 但是要注意值的int转换
//Map<Integer, AllocateDictionaryDTO> appStatusMap
Map<Integer, UserModel> collectMap = list.stream().collect(Collectors.toMap(item -> Integer.parseInt(item.getStudentNo()), item -> item));
System.out.println("");
}
java8 的stream 测试练习
最新推荐文章于 2024-08-02 08:40:40 发布