요소 값을 변경할 수있는 동적 길이 데이터 구조가 필요합니다. 요소의 순서는 중요하지 않습니다.목록, 배열 또는 다른 무엇?
배열을 사용하면 요소를 수정할 수는 있지만 길이에 문제가 있습니다. 해결 방법은 올바른 크기의 새로운 배열을 만들고 매번 모든 요소를 새로운 요소로 복사하는 것입니다. 요소의 수가 자주 변경되기 때문에 좋은 생각은 아닙니다.
일반 목록을 사용하는 것이 더 좋지만 수정 프로세스는 정말 복잡합니다. 우선 변경하고 싶은 요소를 제거해야합니다. 일반 목록에는 간단한 "제거"/ "Delete"메서드를 사용하여 "Filter"를 시도한 다음 수정 된 요소를 머리에 추가했습니다. 그것은 작동하지만 너무 쉽게 뭔가 너무 복잡합니다.
나 동적으로 수정 가능한리스트 또는 동적 크기의 배열로 길이를 변경하여 소자를 수정 할 수 있도록하는 데이터 구조가 있는가?
요소 순서가 중요하지 않은 경우 머리의 중요성은 무엇입니까? 객체에 수정 된 속성 datetime을 추가하고 객체가 변경되면이 변경 사항을 확인하면 sorteddictionary가 작동해야합니다. –
다른 사람들이 말했듯이, 'ResizeArray'는 당신의 요구 사항과 일치 합니다만, 그것은 보통 너무 긴급한 F # 코드의 표시입니다. 그러나, 당신은 그러한 데이터 구조를 필요로한다고 말하지 않았으므로 실제 문제에 대한 대안적인 해결책이 더 기능적 일 수 있습니다. 그것에 대해 자세히 설명해 주시겠습니까? –
@ 토마스 - 필자는 F #에서 명령형 코드를 사용하는 모든 사람들이 코칭을 받아야 함을 의미하지는 않는다. 기능적으로 항상 더 좋다. – Brian