有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何检索列表中具有特定属性的所有对象?

例如,我从服务门户创建了一个“事件”列表:

List<Incident> incidentObjectList = new ArrayList<>();
for (int i = 0; i < incidentNumberList.size(); i++) {
    Incident incident = new Incident();
    incident.setIncidentNumber(incidentNumberList.get(i));
    incident.setSummary(summaryList.get(i));
    incident.setRequestId(requestIdList.get(i));
    incident.setPriority(priorityList.get(i));
    incident.setLastModifiedDate(lastModifiedDateList.get(i));
    incidentObjectList.add(incident);
}
System.out.println("Incident Object List" + incidentObjectList);

每个事件都有几个属性,但我只想从由优先级为Low的事件对象组成的原始列表创建一个新列表。在这种情况下,incident.getPriority()将为新列表中的所有对象返回字符串Low

String[] dataGreenArray = incidentObjectList.get();
retrieveTickets(dataGreenArray, listViewGreen);

共 (2) 个答案

  1. # 1 楼答案

    incidentObjectList上循环并检查每个元素的优先级

    for (Incident incident: incidentObjectList)
    {
        if (incident.getPriority().equals("Low")
            desiredList.add(incident);         // or whatever you want to do
    }
    

    这是一个非常基本的解决方案,但除非您专门寻找其他解决方案,否则它应该会起作用。希望有帮助

  2. # 2 楼答案

    在Java8中

    List<Incident> list = incidentObjectList.stream()
                                            .filter(e->e.getPriorty().equals("Low"))
                                            .collect(Collectors.toList());