gpt4 book ai didi

java - 根据另一个字符串数组的值从一个数组中仅提取某些对象

转载 作者:行者123 更新时间:2023-11-29 23:06:11 27 4
gpt4 key购买 nike

我正在用 java 开发一个 android 项目。我有一组看起来像这样的对象

Agenda = [{id: 1, sessionName: Some name, sessionLocation: Some place},
{id: 2, sessionName: Some name, sessionLocation: Some place},
{id: 3, sessionName: Some name, sessionLocation: Some place}]

我还有一个动态的字符串数组,所以它可以有多个值......看起来像这样:

sessionID = {1, 3}

如何在 Agenda 数组的“id”字段中检查这些 sessionID,并仅将 ID 匹配的这些对象拉入新数组。

注意:

  • 这是 java 不是 javascript
  • 议程数组对象中的“id”是一个诠释
  • sessionID数组为字符串数组

我尝试了几个例子,但没有一个成功!

最佳答案

[已更新] Arraylist 示例:

如果您使用的是 Java 8,请考虑以下设置:

List<Agenda> agenda = new ArrayList<Agenda>();
agenda.add(new Agenda(1));
agenda.add(new Agenda(2));
agenda.add(new Agenda(3));

String[] sessionID = new String[] {"1", "3"};

你可以这样做:

List<Agenda> agendaFiltered = agenda.stream()
.filter(agendaObj -> Arrays.binarySearch(sessionID, Integer.toString(agendaObj.getId())) >= 0)
.collect(Collectors.toList());

然后如果你运行:

agendaFiltered.forEach(System.out::println);

它只会打印:

Agenda{id=1}
Agenda{id=3}

关于java - 根据另一个字符串数组的值从一个数组中仅提取某些对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56489855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com