Arrays 使用列表中的元素创建字符串数组
有一个Arrays 使用列表中的元素创建字符串数组,arrays,list,java-8,Arrays,List,Java 8,有一个列表,其中包含四个字符串-->员工详细信息(ID、姓名、经理ID等--所有类型均为字符串) 首先需要过滤具有不同ID的列表 需要从中获取列表中每个对象的ID,并将其存储为ID数组。这将是所有不同的员工ID,然后我将其传递给不同的功能 List<ViewData> list = getDataList(); list = list.parallelStream() .filter(distinctByKey(ViewData::getId))
列表
,其中包含四个字符串-->员工详细信息(ID、姓名、经理ID等--所有类型均为字符串)
首先需要过滤具有不同ID的列表
需要从中获取列表中每个对象的ID,并将其存储为ID数组。这将是所有不同的员工ID,然后我将其传递给不同的功能
List<ViewData> list = getDataList();
list = list.parallelStream()
.filter(distinctByKey(ViewData::getId))
.collect(Collectors.toList());
看来你要找的是:
String[] allIds =
getDataList().parallelStream()
.map(ViewData::getId)
.distinct()
.toArray(String[]::new);
请提供输入和输出的详细信息。你能澄清一下吗?字符串上的数据存储?该列表包含已筛选的员工详细信息(ID、姓名、经理ID等)。我想从列表中的每个对象中取出雇员的ID,并将其存储为ID数组。这将只是符合我的约束条件的员工ID,我需要将其传递给其他职能部门。什么是
ViewData
?我可以用包含筛选列表的list
替换getDataList()
,并且getId()
将是从列表返回id
的getter吗?@BharathYesViewData
是出现在您的问题中的一个类,所以你应该比我更了解它。@BharathYes我假设.filter(distinctByKey(ViewData::getId))
是一次过滤重复ID的失败尝试。如果按照我的建议使用map
后跟distinct
,则不需要它。谢谢,我对ViewData
感到困惑。distinctByKey是以前使用过的函数。一旦集成和测试,将确认。。。查找资源/文档以了解更多有关此类编程的信息会很有帮助…我试图在没有经验的情况下进入其中。是否可以基于一个列值对列表进行筛选ed,然后使用map
收集要存储在字符串中的不同列值?询问
String[] allIds =
getDataList().parallelStream()
.map(ViewData::getId)
.distinct()
.toArray(String[]::new);