Ниже приведен фрагмент кода для извлечения части массива. Мой arraylist full
содержит около 3000 строк с 193 цифрами, разделенными пробелами в каждой строке. Теперь я хочу разделить мой arraylist, чтобы получить первые 48 цифр в каждой строке, то есть мой последний «ocr» arraylist должен содержать 3000 строк с 48 цифрами, разделенными пробелом в каждой строке.Разбиение arraylist java
Здесь, когда я пытаюсь копировать temp на ocr, а затем печатать ocr
, я получаю весь массив, а не подсчет. Что не так в этом коде?
void extractData(){
ArrayList<points> test1 = new ArrayList<points>();
points temp = new points();
for (points p : full){
for (int i = 0; i < 48; i++){
temp.x[i] = p.x[i];
}
ocr.add(temp);
}
for (points pp : ocr)
System.out.println(pp);
}
Вы добавляете один и тот же один объект 'temp' к' ocr' несколько раз, потому что вы создаете его вне цикла. Вероятно, это часть вашей проблемы, хотя я не могу сказать, все ли это проблема, потому что у вас недостаточно контекста. – Boann
Также, пожалуйста, соблюдайте соглашения об именах Java, чтобы сделать ваш код доступным для чтения. Классы начинаются с буквы верхнего регистра. –