Tishy今:
私は、マップオブジェクトの順序付けられたリストのサイズを(いくつかの要素を削除)を低減します。一定の条件が満たされない限り、リストのすべてのオブジェクトが破棄されなければなりません。その条件が満たされたときに、そのリストのすべての次の要素がリストに残ったはずです。私は、コードの一部を次のようしています。私は、Java 8と同じことをやりたいです。
public List<Map<String, String>> doAction(List<Map<String, String>> dataVoMap) {
List<Map<String,String>> tempMap = new ArrayList<>();
boolean found = false;
for(Map<String, String> map: dataVoMap){
if(map.get("service_id").equalsIgnoreCase("passed value") || found){
found = true;
tempMap.add(map);
}
}
dataVoMap = tempMap;
return dataVoMap;
}
また:
あなたは探しているdropWhile
操作が、それのビルトイン実装では、Java-9と上が必要になります。
public List<Map<String, String>> doAction(List<Map<String, String>> dataVoMap) {
return dataVoMap.stream()
.dropWhile(m -> !"passed value".equalsIgnoreCase(m.get("service_id")))
.collect(Collectors.toList());
}
注:があるかもしれないときに私は、NPEを避けるために、既存のコードを編集してきたMap
中でList
キーなしservice_id
。