Java8-05
【摘要】 1.抽取对象属性List<Integer> ids = taskRecordDOList.stream().map(TaskRecordDO::getId).collect(Collectors.toList()); 2.obj2objList<DayStoreSkuSizeInvSalDTO> dtos = sizeInvSalList.stream() ....
1.抽取对象属性
List<Integer> ids = taskRecordDOList.stream().map(TaskRecordDO::getId).collect(Collectors.toList());
2.obj2obj
List<DayStoreSkuSizeInvSalDTO> dtos = sizeInvSalList.stream()
.map(item -> {
DayStoreSkuSizeInvSalDTO dayStoreSkuSizeInvSalDTO = new DayStoreSkuSizeInvSalDTO();
BeanUtil.copyProperties(item, dayStoreSkuSizeInvSalDTO);
return dayStoreSkuSizeInvSalDTO;
}).collect(Collectors.toList());
3.属性转 set
转set:
final Set<String> sizeCodes = sizeInvSalList.stream().map(DayStoreSkuSizeInvSalDO::getSizeCode).collect(Collectors.toSet());
筛选转set:
final List<String> genderName = pageQuery.getGenderName();
if (CollectionUtils.isNotEmpty(genderName)) {
tags = tags.stream().filter(t -> genderName.contains(t.getGenderName()))
.collect(Collectors.toList());
}
4.list2list
Map<Object, List<Student>> mapGroup = list.stream().collect(Collectors.groupingBy(v -> v.getName() + v.getAge()));
List<List<Student>> categorys = new ArrayList<>(mapGroup.values());
5.toMap 重复 key
Map<Date, TimeAxisDTO> collect6 = timeAxisDTOListB.stream().collect(Collectors.
toMap(TimeAxisDTO::getPeriodSdate, timeAxisDTO -> timeAxisDTO, (key1, key2) -> key1));
6.array2List
/**
* 数组转list Arrays.asList不能add
*
* @author : kwan
* @version : 1.0.0
* @date : 2022/8/10 00:21
*/
public class Basic_collection_10_Array2List_01 {
public static void main(String[] args) {
String[] strArray = new String[2];
List list = Arrays.asList(strArray);
//对转换后的list插入一条数据
list.add("1");
System.out.println(list);
}
}
/**
* 数组转list
*
* @author : kwan
* @version : 1.0.0
* @date : 2022/8/10 00:21
*/
public class Basic_collection_10_Array2List_02 {
public static void main(String[] args) {
String[] strArray = new String[2];
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray));
list.add("1");
System.out.println(list);
}
}
/**
* 数组转list
*
* @author : kwan
* @version : 1.0.0
* @date : 2022/8/10 00:21
*/
public class Basic_collection_10_Array2List_03 {
public static void main(String[] args) {
String[] strArray = new String[2];
ArrayList< String> arrayList = new ArrayList<String>(strArray.length);
Collections.addAll(arrayList, strArray);
arrayList.add("1");
System.out.println(arrayList);
}
}
7.map2list
需要将 map 打平转为 list
final List<StoreSkuInvSalDTO> sal = groupName_2_salDatas.values().stream()
.flatMap(x -> x.getProducts().stream())
.collect(Collectors.toList());
8.List&String&Set 互转
//list转string
String str= String.join("','", list);
//list转set
Set<String> set = new HashSet<>(skuList);
//set转list
List<String> list = new ArrayList<>(set);
9.arrays2str
默写关键点
- mapToObj
- collect
- Collectors
int[] res = {1, 2, 3, 4, 5};
final String collect = Arrays.stream(res).mapToObj(String::valueOf).collect(Collectors.joining(""));
System.out.println(collect);
//StringBuilder低效写法
int[] res = {1, 2, 3, 4, 5};
StringBuilder sb = new StringBuilder();
for (int i : res) {
sb.append(i);
}
String result1 = sb.toString().trim();
System.out.println(result1);
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)