groovy에서list를 여러 속성으로 그룹화
10773 단어 work
import com.ittx.cbt.util.ObjectMapperFactory
import org.json.JSONArray
import org.json.JSONObject
def errorCodeList = [
[id:1,code: "1", language: "2", content: "3"],
[id:2,code: "1", language: "2", content: "4"],
[id:3,code: "1", language: "3", content: "5"],
[id:4,code: "1", language: "3", content: "6"],
[id:5,code: "2", language: "1", content: "3"],
[id:6,code: "2", language: "2", content: "3"],
[id:7,code: "1", language: "2", content: "4"]
]
Map<String,List> result = new HashMap()
List tempList = new ArrayList()
def c = errorCodeList.groupBy {
it.code
}.collectEntries({k,v->
[
(k) : v.groupBy({
it.language
}).collectEntries({ k2,v2->
[(k2) : v2.groupBy({
it.content
}).collectEntries({k3,v3->
[(k3):v3.collect({
String key = "${it.code}_${it.language}_${it.content}"
if(result.keySet().contains(key)){
tempList = result.get(key)
tempList.add(it)
//result.put(key,tempList)
}else {
tempList = new ArrayList()
tempList.add(it)
result.put(key,tempList)
}
it
})]
})]
})
]
})
println new JSONObject(result)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 클래스 뷰 및 중간부품Django의 클래스 뷰 및 중간부품 클래스 보기 클래스 1의 도입 이해하기 편함그러나 하나의 보기에 대응하는 경로가 다양한 HTTP 요청 방식을 지원할 때 하나의 함수에서 서로 다른 업무 논리를 작성해야 하기 때문...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.