(1)groupingBy 分组
java
Map<String,List<ServiceInfoEntity>> dataMap= serviceInfoList.stream().collect(Collectors.groupingBy(d->{
String a = d.A()+":"+d.B();
return a;
}));
(2)组装自己想要的实体
java
List<ServiceInfoType> typeList = typeValue.stream().map(entity ->{
ServiceInfoType type = new ServiceInfoType();
type.setFirstType(entity.getFirstType());
type.setSecondType(entity.getSecondType());
return type;
}).collect(Collectors.toList());
(3)将集合转换成String,展示形式[A,B, C,D]
java
typeValue.stream().map(ServiceInfoEntity::getFirstType).collect(Collectors.toList()).toString()
(4)拼接(A,B,C),(A,B,C) ,可用于当查询数据量过大Mybtis原始的不好用,通过这种拼接的形式传入。
java
devInterList.stream().map(obj->"("+obj.A()+","+obj.B()+","+"'"+obj.C()+"'"+")").collect(Collectors.joining(","));
xml
(A,B,C) in (${参数})
(5)假设我们有一个字符串列表,我们想要打印出每个字符串及其在列表中的索引。
java
List<String> words = Arrays.asList("zhangsan", "lisi", "wangmazi");
// 使用IntStream和mapToObj进行迭代
IntStream.range(0, words.size())
.mapToObj(index -> "索引: " + index + ", 值: " + words.get(index)) // 获取索引和对应的值
.forEach(System.out::println); // 打印结果
在这个示例中,我们首先定义了一个包含三个字符串的列表 words。然后,我们使用 IntStream.range 方法创建一个从0到 words.size() 的整数流,其中每个整数代表一个索引。接下来,我们使用 mapToObj 方法将每个索引映射到一个字符串,这个字符串包含索引和对应的列表元素。最后,我们使用 forEach 方法来打印出结果。