마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

배열 추가 질문입니다.

0 추천

6바이트 짜리 똑같은 형식의 데이터가 있고, 

이 데이터를 1초 지날 때마다 달라지는 값을 계속 저장하려고 한다고 했을 때

byte[0][6] = {1, 2, 3, 4, 5, 6};    0초일때 값

byte[1][6] = {1, 2, 3, 4, 5, 6};

byte[2][6] = {1, 2, 3, 4, 5, 6};

byte[3][6] = {1, 2, 3, 4, 5, 6};

byte[4][6] = {1, 2, 3, 4, 5, 6};    4초일때 값

.

.

.

.

 

이런식으로 된다고 할 때

byte[][] 중에 앞에 괄호 초에 해당하는 숫자가 계속 늘어나게 되자나요?

상황에 따라 몇초짜리를 저장할지는 모르니까, 

저장할 때마다 배열을 하나씩 늘려서 저장하고 싶은데 그럴수 있나요?

만약 된다면, 저 괄호안에 숫자는 얼마까지 늘어날수 있는거가요? 

무한대는 아닐거 같은데 최대로 몇까지 쓸수 있을지요??

익명사용자 님이 2019년 5월 20일 질문

1개의 답변

0 추천

byte[][] 중에 앞에 괄호 초에 해당하는 숫자가 계속 늘어나게 되자나요?

상황에 따라 몇초짜리를 저장할지는 모르니까, 

저장할 때마다 배열을 하나씩 늘려서 저장하고 싶은데 그럴수 있나요?

=> 메모리 할당이라 new 하는걸론 안될 듯 하고, ArrayList<byte[] > 같은 걸로  append 하시는게 좋을 듯 합니다.

    ArrayList<byte[] > list =new ArrayList<byte[] >();
    list.add(new byte[]{1, 2, 3, 4, 5, 6});

   만약 4초의 값을 구한다면 byte[] 4s = list.get(4); 면 됩니다.

저 괄호안에 숫자는 얼마까지 늘어날수 있는거가요? 

 =>  [] 안의 값이 int라  이론상 2147483647 까지 지원하긴 하겠지만.

  아마 메모리가 부족해서 할당이 안될테니.  VM에서 할당하는 메모리 사이즈에 따라 달라질 듯 합니다.

 

익명사용자 님이 2019년 5월 20일 답변
감사합니다 ^^ 도움이 많이 됐습니다~~ 최고최고!
...