0
点赞
收藏
分享

微信扫一扫

java笔记:流式编程 数组与List集合互转

 

 

别再用for循环了。借助org.apache.commons.lang.ArrayUtils更优雅! 

数组转集合:long[]转List<Long>

import org.apache.commons.lang.ArrayUtils;

long[] array_long = {1L, 2L, 3L};
//装箱,把基本类型数组转成对应的包装类数组
Long[] array_Long = ArrayUtils.toObject(array_long);
return Arrays.asList(array_Long);

 

集合转数组:List<Long>转long[]

import org.apache.commons.lang.ArrayUtils;

long[] array_long = ArrayUtils.toPrimitive(array_Long);

要根据一个List<Entity>,得到entity的id的集合。可以使用流式编程的mapToLong方法;同样如果得到其他数据类型的集合,可以使用mapToDouble、mapToInt等。

long[] array_long = entList.stream().mapToLong(Enterprise::getEnterpriseId).toArray();

 

要对数组做流式编程,可以先通过Arrays.stream(localEnterpriseIdList)将数组转换成Stream对象。

 

 

List<Long>转List<String>

List<Long> l1 = Arrays.asList(1L, 3L, 2L);

List<String> strings = l1.stream().map(String::valueOf).collect(Collectors.toList());

 

 对List<Long>进行排序

import java.util.Collections;

Collections.sort(l2);

 

将List<Long>里的数字转换成用","分割的字符串 

List<Long> l1 = Arrays.asList(1L, 3L, 2L);

String join = String.join(",", l1.stream().map(String::valueOf).toArray(String[]::new));

 

 

删除map中符合条件的元素

方法一:loop

Map<String, String> map = Maps.newHashMap();
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
if (!custFlags.contains(key)) {
iterator.remove();
}
}

 

方法二:利用java.util.Collections#removeIf(java8中新增的方法)

Map<String, String> map = Maps.newHashMap();
map.keySet().removeIf(key -> !custFlags.contains(key));

 

java笔记:流式编程 数组与List集合互转_流式编程

 

举报

相关推荐

0 条评论