2017-11-20 8 views
0

Akka-HTTP 및 Json4s를 사용하여 API를 호출하지만 모든 HTTP 클라이언트/JSON 파서에 질문이 적용될 수 있습니다. API는 응답을 구문 분석 할 때 Seq 또는 Set을 사용해야합니까? 짧은 항목 컬렉션을 반환합니다. 컬렉션의 크기가 작기 때문에 성능에 큰 문제는 없습니다. 논리적/가독성 관점에서 집합은 순서가 지정되지 않고 중복이 없어야하므로 Set가 더 적합합니다. 그러나 나는 보통 사람들이 컬렉션을 사용하는 것을 본다.HTTP 응답 구문 분석 : Seq 대 설정 규칙

그냥 예를 들어, 내가 역 직렬화 될 객체는 다음과 같습니다

case class(name: String, tags: Seq[String], filters: Seq[Filter]) 
+0

* "컬렉션의 순서가 지정되지 않았으며 중복이 없어야합니다."*, 나는 자신의 질문에 대답했다고 생각합니다. –

답변

0
특정 사용 선택을 할 때 문제가 아니라 어떤 HTTP 클라이언트/JSON 파서하지만, 어떤 상황에 적용 할 수

데이터 구조. 여기서 핵심은 데이터에 대한 액세스 패턴과 향후 데이터에서 어떤 유형의 작업을 수행 할 것인가입니다. 대부분의 경우 일부 변환을 수행하는 모든 컬렉션을 반복하거나 UI 관련 응용 프로그램에 대해 이야기하는 경우 데이터를 목록보기 형식으로 렌더링합니다. 이 경우 특정 요소에 빠르게 액세스 할 필요가 없습니다 (Set의 주요 장점). 그리고 Seq은 일반적으로 메모리를 덜 소비하고 모든 요소에 대해 더 빠른 반복을 허용하므로 사람들은 Seq을 선호합니다.