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

출력이 왜이렇게 나오는지 질문드립니다. [closed]

0 추천

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import java.util.Arrays;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private List<int[]> a;
    private int[] b;
    static int c = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        a = Arrays.asList(new int[40][40]);
        b = new int[40];
        for(int i = 0; i < 40; i ++) {
            for (int j = 0; j < 40; j++) {
                b[j] = c;
                Log.i("datas", "c : " + c);
                c++;
            }
            a.set(i, b);
        }

        getA();
    }

    void getA(){
        for(int i = 0; i < 40; i++) {
           Log.i("datas", "a : " + Arrays.toString(a.get(i)) + " count : " + i);
        }
    }
}

C는 정상적으로 늘어나는게 첫번째 로그에서 확인이 되는데요.
근데 두번째의 로그는
a : [1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599] count : 0
이 배열이 40번 반복되어서 나오네요..
즉 마지막에 입력돼었던 배열만 출력이 된다는 건데.. 제가 뭘 잘못한 건가요?
질문을 종료한 이유: 자력해결
원펀치맨 (2,860 포인트) 님이 2018년 2월 20일 질문
원펀치맨님이 2018년 2월 20일 closed
해결했습니다.
그냥 어렵게 할필요없이 int[][]의 2차배열 변수 하나 만들어준다음 거기에 데이터 넣어주고, a = Arrays.asList<2차배열변수>; 하면 됩니다.
...