자바 - 사전에 크기를 모른 채 이진 객체를 객체 배열로 읽는 방법은 무엇입니까? 예를 들어 바이너리 파일에 얼마나 많은 "클라이언트"가 있는지 알 수 없으므로 사전에 크기를 모른 채 배열로 읽어들이려면 어떻게해야합니까? 아마 벡터를 사용할 수 있지만 배열을 사용해야합니다.Java - 바이너리 객체를 크기를 몰라도 객체 배열로 읽는 방법은 무엇입니까?
답변
ArrayList를 만들면 예약 된 크기의 T []가 만들어집니다.
너무 많은 항목을 추가하면 더 큰 새 T []를 만들고 System.arraycopy를 사용하여 내용을 이동합니다.
무한한 숫자의 입력이 가능한 한 최선의 방법입니다. ArrayList의 소스를 읽음으로써 완료되는 것을 볼 수도 있습니다.
실제 크기가 무엇인지 모르는 경우에도 가능한 최대 크기를 보장 할 수있는 경우 다른 해결책이 적용됩니다. 배열을 최대 값만큼 크게 만들고, 배열에 물건을 넣습니다. 완료되면 실제 크기의 최종 배열을 만들고 복사하십시오.
vector 또는 ArrayList와 같은 collections 라이브러리의 내용을 사용하십시오.
질문보기. –
내 대답은 upvoted 된 답변과 거의 동일합니다. 왜 내가 투표를해야합니까? – dominic
bmargulies는/using/ArrayList를 추천하지 않았습니다. 그는 OP가 그것을 복제 할 수 있도록 내부 구현을 설명했다. –
공간이 부족할 때 새 배열을 만든 다음 arraycopy을 사용하여 이전 요소를 새 것으로 복사 할 수 있습니다.
- 1. 바이너리 파일을 바이트 배열로 읽는 방법?
- 2. JavaScript : 객체를 객체 배열로 변환
- 3. Java 파일의 객체 스트림을 완전히 읽는 가장 좋은 방법은 무엇입니까?
- 4. java : txt 파일을 문자열 배열로 읽는 방법
- 5. 어떻게 바이너리 파일을 바이트 배열로 변환합니까?
- 6. 자바 : 객체를 배열로 캐스팅
- 7. 구조체를 객체 배열로 변환
- 8. 좋은 바이너리 데이터 압축 Java 라이브러리는 무엇입니까?
- 9. 연관에서 배열로 객체를 당기기
- 10. iOS의 부동 소수점 배열로 사운드 파일을 읽는 방법은 무엇입니까?
- 11. 16 진수 값의 ASCII 문자열을 바이트 배열로 읽는 방법은 무엇입니까?
- 12. 파일에서 dbg 바이너리 출력을 읽는 방법?
- 13. jQuery에서 사용할 JSON 객체를 배열로 변환하는 방법은 무엇입니까?
- 14. 비 직렬화 가능 객체를 바이트 배열로 변환하는 방법은 무엇입니까?
- 15. Java 클라이언트로 Riak에 객체를 저장하는 방법은 무엇입니까?
- 16. Java 객체를 C++ 객체로 변환하는 방법은 무엇입니까?
- 17. Clojure에서이 Java 객체를 직렬화하는 올바른 방법은 무엇입니까?
- 18. 소켓을 통해 Java 객체를 보내고받는 방법은 무엇입니까?
- 19. 파이썬은 바이너리 파일, 바이너리 데이터를 문자열로 읽는 중입니까?
- 20. json 객체 속성을 배열로 추출하는 쉬운 방법은 무엇입니까?
- 21. ObjectInputStream을 통해 소켓에서 읽는 최대 크기를 제한하는 방법은 무엇입니까?
- 22. django-piston을 사용하여 lxml.objectify.ObjectifiedElement 객체를 읽는 방법은 무엇입니까?
- 23. 패키지를 몰라도 클래스를로드 하시겠습니까?
- 24. SqlDataReader 객체를 배열로 사용하려면 어떻게해야합니까?
- 25. 배열로 객체를 변환하는 PHP 버그
- 26. FileItem 객체를 읽는 최적의 패턴
- 27. 큰 ActiveRecord 객체를 바이너리 데이터로 처리하기
- 28. 객체를 참조하는 객체 목록 얻기
- 29. 연관 배열을 객체 배열로 변환
- 30. 매개 변수가없는 Java List에 객체를 추가하는 방법은 무엇입니까?
흠 ... 나는 이것에 대해 생각해 봤지만 파일의 전체 크기를 개체의 크기로 나눈 것이 파일 내의 개체 수를 제공합니까? – ShrimpCrackers
왜 '해야합니까?' 이 숙제가 있니? – bmargulies
글쎄, 배열을 사용할 필요가 없습니다. 벡터를 사용하는 방법을 알 수 있습니다. 알 수없는 크기의 배열을 사용하여 벡터를 만드는 방법을 알고 싶습니다. – ShrimpCrackers