【发布时间】:2020-03-08 21:29:47
【问题描述】:
我有一个这样的列表。想要对String 的List 进行一些过滤和转换为List 的DTO:
public static void main(String[] args) {
String[] te = {"a","B_1","c","d","e"};
String[] con = {"a","b","ca"};
List<String> S = Arrays.asList(te).parallelStream()
.map(x -> x.replace(ISConstants.domainName, ""))
.filter(x -> (!x.contains("_"))? ArrayUtils.contains(con, x.toLowerCase()): ArrayUtils.contains(con, x.split("_")[0].toLowerCase()))
.filter(x -> !x.equalsIgnoreCase("b"))
.collect(Collectors.toList());
// List<UserDTO> ls = l.forEach;
// System.out.println(l);
}
在这里你可以看到,我有一个列表 S 现在我想将该列表 S 转换为 UserDTO 列表,其中我有一个方法 setUserName 并希望将字符串从 S 设置为 userName 到 ls。
任何人都知道我如何使用现有的 lambda 表达式或新的表达式来执行此操作。
【问题讨论】:
-
如果需要更多说明,请告诉我。
标签: java arrays regex java-8 java-stream