Ich habe eine Liste von workStatuses. Jeder workStatus hat seinen Namen und seine Uhrzeit. Ich kann workStatus.getName()
tun, während ich durch jeden workStatus iteriere.Wie finde ich heraus, ob eine Arraylist ein Element enthält und die Ergebnisanzahl zu HashMap in Java addiert?
for (workStatus ws: workStatuses) {
String name = ws.getName();
}
Weiter habe ich eine Liste von Namen Namensliste genannt.
List<String> nameList = new ArrayList<String>();
nameList.add("Completed");
nameList.add("Failed");
Jetzt bin ich mit HashMap Anzahl von workStatuses has.So jeden Namen zu zählen, die ich zu
- Iterate durch workStatuses haben.
- Suchen Sie für jeden workStatus den Namen.
- Überprüfen Sie, ob dieser Name in meiner NameList vorhanden ist.
- Wenn ja, dann erhöhen Sie die Nummer des Workstatus für diesen Namen und setzen Sie diese Zahl auf HashMap.
Was ich getan habe:
Integer numberOfWorkStatus =0;
Map<String,Integer> hm = new HashMap<String,Integer>();
for(WorkStatus ws: workStatuses) {
if (ws.getName()!=null && nameList.contains(ws.getName())) {
numberOfWorkStatus++;
hm.put(ws.getName(), numberOfWorkStatus);
}
}
return hm;
Kann mir jemand vorschlagen, wenn ich es richtig mache?
Ihr Code scheint nicht zu „count Anzahl von workStatuses jeder Name hat“, zum Beispiel 'totalCount' für einen beliebigen Namen geteilt zu sein scheint, oder habe ich das falsch verstanden? –
Loris wird nicht geteilt. Jeder Name kann eine unterschiedliche Anzahl von workStatus haben. Das ist was ich will. Ich habe den Variablennamen geändert, um ihn jetzt informativer zu machen. Macht es jetzt Sinn? – Rthp
Ich sage nur, dass Ihr Code diese Anzahl für jeden Namen teilt, also ist es nicht korrekt. Werfen Sie einen Blick auf die vorgeschlagenen Antworten. –