ArrayList가 항목을 잃어버린 이유가 있습니까? 나는 Integers를 보유하고있는 ArrayLists를 가지고있는 ArrayList를 가지고있다. 각각에 약 32 개의 항목이 있습니다. 나중에 ArrayList를 호출해야 할 경우 마지막 항목을 제외한 항목이 누락됩니다. 아직 32 개 항목이 있지만 비어 있습니다.ArrayList 잃는 항목
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [-16323110, -16688166, -14978279, -837220, -11002320, -4136419, -13118245, -5370572, -11382698, -13140399, -13754890, -8184649, -11711035, -11668025, -12910969, -11058211, -9974559, -9665946, -12513105, -14320755, -16332438, -7673092, -13016023, -15454286, -12413148, -9780316, -2553149, -3313219, -10953060, -940790, -11989718, -12189591]]
나는 한 번 읽을 수 그리고 난 그것이 사라 졌어요 다시 호출 할 때 모든 것을 나중에있다 ...하지만. 나는 아무것도 제거하지 않을거야. 여기서 무슨 일이 일어나고있는거야?
나는 원래 코드를 게시 할 수는 없지만 모의를 보여줍니다. 코드에서
private ArrayList<ArrayList<Integer>> myArray = new ArrayList<ArrayList<Integer>>();
private void makeArray() {
for(int i = 0; i<= _height - 1; i++) {
ArrayList<Integer> row = new ArrayList<Integer>();
for(int ii = 0; ii <= _width - 1; ii++) {
row.add(ii);
}
myArray.add(row);
}
}
private void readArray() {
ArrayList<Integer> row = new ArrayList<Integer>();
for(int a = 0; a <= _height - 1; a++) {
row.clear();
row = myArray.get(a);
for(int aa = 0; aa <= _width - 1; aa++) {
int c = row.get(aa);
//stuff
}
}
}
당신은 row.clear()를 호출하고 있습니다; (이유는 무엇입니까?) – Karussell
데이터가 올바르게 추가되었는지 확인하기 위해 루프를 단계별로 실행하여 디버깅을 시도 했습니까? –
이것은 나를 위해 일했습니다. – arshajii