컴퓨터에서 파일을 검색하는 응용 프로그램이 있습니다 (구성 가능한 경로, 유형 등). 현재 일치하는 파일이 발견되는 즉시 데이터베이스에 정보를 추가합니다. 그보다 나는 정보를 데이터베이스에 삽입하기 전에 추가 조작을 위해 메모리에 보관하려고합니다. 목록에 많은 항목이 포함될 수 있습니다. 나는 성과를 중요한 요소로 생각한다. 아이템을 반복 할 필요가있을 수 있으므로 쉽게 코딩 할 수있는 구조가 또 다른 주요 문제입니다. 이 작업을 위해 PHP 스타일 연상 배열을 어떻게 얻을 수 있습니까?파일 목록 정보를 저장할 데이터 유형/구조는 무엇입니까?
답변
연관 배열로 http://sourceforge.net/projects/alcinoe/으로 AVL-Tree를 사용해보십시오. 빠른 반복을위한 iterate-method가 있습니다. 그의 baseclass에서 파생하고 자신의 비교자를 구현해야 할 수도 있지만 사용하기 쉽습니다.
예제가 포함됩니다.
Delphi 2009를 사용하는 경우 TDictionary를 사용할 수 있습니다. 두 가지 일반 매개 변수가 필요합니다. 첫 번째는 파일 이름에 대한 문자열이어야하며 두 번째 파일은 연결할 데이터 유형이 될 것입니다. 또한 3 개의 내장 열거자를 가지고 있는데 하나는 키 - 값 쌍을위한 것이고 하나는 키 전용이고 다른 하나는 값 전용입니다.
다른 해결책은 표준 TStringList를 사용하는 것입니다.
정렬되어 있으며 dupAccept 이외의 중복 설정이있는 경우 indexof 또는 indexofname을 사용하여 목록의 항목을 빠르게 찾을 수 있습니다.
또한 이름에 첨부 된 개체 정보를 저장할 수있는 개체 추가 기능이 있습니다. D2009부터 TStringList에는 OwnsObject 속성이 있습니다.이 속성을 사용하면 개체 정리를 TStringList에 위임 할 수 있습니다. D2009 이전에는 스스로 처리해야합니다.
이 중 많은 부분이 목록을 사용하는 방법과 규모에 따라 다릅니다. 스택이나 대기열로 사용하려는 경우 TList가 정상적으로 작동합니다. 특정 항목에 대한 목록을 검색해야하는 경우 빠른 검색을 허용하는 항목이 필요합니다. TDictionary (2009) 또는 TStringList (2009 이전)가 가장 가능성있는 선택입니다.
동적 배열도 사용할 수 있지만 사용하면 메모리를 다시 할당 할 때마다 SetLength 사용을 최소화해야합니다. TList가 이것을 관리하므로 TList 사용을 제안했습니다. 얼마나 많은 것을 미리 알았 으면 동적 배열을 사용하고 그 길이를 설정하십시오.
메모리에 저장할 수있는 것보다 많은 항목이있는 경우 선택 사항도 변경됩니다. 그 시점에서 나는 처리 할 레코드를 저장하기 위해 데이터베이스 테이블이나 tFileStream을 사용하고 처리를 위해 테이블 / 스트림의 시작 부분을 찾는다.
- 1. 정보를 다른 테이블에 저장할 때 정보를 데이터베이스에 저장할 수 있습니까?
- 2. 아이폰의 NSUserDefaults에 하나의 연결 목록 정보를 저장할 수 있습니다.
- 3. 프로그램 등록 정보를 저장할 위치
- 4. listBox에서 선택된 파일 정보를 얻는 방법은 무엇입니까?
- 5. Drupal 모듈에 중요한 정보를 저장할 위치는 어디입니까?
- 6. MySQL에 부울 값을 저장할 데이터 유형은 무엇입니까?
- 7. 아이폰 아이콘을 저장할 파일 이름은 무엇입니까?
- 8. asp.net에 사용자 로그인 정보를 저장할 위치
- 9. jquery - 추가 정보를 저장할 위치는 어디입니까?
- 10. Silverlight에서 구성 정보를 저장할 위치는 어디입니까?
- 11. 데이터베이스가 없으면 정보를 저장할 수 있습니까?
- 12. 성별 및 출생 연도와 같은 정보를 저장할 위치는 어디입니까?
- 13. 등록하지 않고 사용자 정보를 어떻게 저장할 수 있습니까?
- 14. Realplayer 파일 정보를 얻는 방법은 무엇입니까?
- 15. C# 목록 상자에서 파일 열기 파일 목록
- 16. .avi 파일에 임의의 텍스트 정보를 저장할 수 있습니까?
- 17. msbuild 작업을 저장할 외부 파일
- 18. Rsync로 저장할 때마다 파일 업로드
- 19. 파일 정보를 변수에 저장 하시겠습니까?
- 20. 실행할 배치 파일 목록
- 21. "공식"국가/지역 목록 데이터 출처
- 22. DATA 파일 핸들에 저장할 수 있습니까?
- 23. Unload에서 내 JavaScript 상태 정보를 다시 서버에 저장할 수 있습니까?
- 24. 핵심 데이터 관계 목록
- 25. 최근 파일 목록 유지 보수
- 26. 목록 파일 C (.LST)
- 27. 논리 규칙을 저장할 적절한 데이터 구조 및 데이터베이스 스키마는 무엇입니까?
- 28. MySQL에서 시간대 오프셋을 저장할 데이터 유형/구조
- 29. 사이트/데이터 테이블에 파일 업로드
- 30. C++ 모든 파일 정보가 담긴 파일 목록