92 / 92 / 18
Регистрация: 06.01.2012
Сообщений: 394
1

Добавление одномерного массива в ArrayList

18.04.2012, 01:47. Показов 7375. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Недавно столкнулся с проблемой, добавляя массивы в ArrayList
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    ArrayList<int[]> arr = new ArrayList<int[]>();
       Random rnd = new Random();
       
       int[] arrCheck = new int[2];
       for (int i=0;i<10;i++){
           arrCheck[0]=rnd.nextInt(10);
           arrCheck[1]=rnd.nextInt(10);
           
           arr.add(arrCheck);
       }
       for (int i=0;i<arr.size();i++)
       {
           System.out.println(arr.get(i)[0]+"#"+arr.get(i)[1]);
       }
    }
Результат работы - большое количество одинаковых значений в arrayListe. Объясните почему так. Ведь я каждый раз переприсваиваю значения массива checkArr. В общем - неясность.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2012, 01:47
Ответы с готовыми решениями:

Arraylist добавление параметров
По замыслу код должен создавать случайных игроков, и генерировать для них Items состоящие из...

Добавление метода get в ArrayList
Добавление метода get в ArrayList, который по индексу добавит элемент в коллекцию. Волнует вопрос...

Добавление в середину ArrayList Java
У меня есть класс Clerk, в себе он содержит ArrayList объектов типа Supplicant public final class...

Добавление элемента в коллекцию ArrayList
Всем привет. Возник такой вопрос. Есть две коллекции oldCollection и newCollection(код снизу). В...

2
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
18.04.2012, 06:56 2
значения то вы переписываете, но адрес arrCheck в памяти-то остается один и тот же.
И именно адрес вы добавляете в ArrayList. Отсюда и проблемы.
Нужно каждый раз выделять память, с помощью new, либо ложить в ArrayList не массив, а его clone копию.
1
92 / 92 / 18
Регистрация: 06.01.2012
Сообщений: 394
18.04.2012, 10:16  [ТС] 3
Спасибо, а то у меня голова кругом пошла от таких дел. Про адреса вроде бы и знал, но как то не пришло в голову думал-чудеса
0
18.04.2012, 10:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2012, 10:16
Помогаю со студенческими работами здесь

Для чего написано: ArrayList<person> people = new ArrayList<>();
package com.company; import java.util.ArrayList; import java.util.Iterator; public class Main {...

Передача ArrayList в качестве параметра методу, и в дальнейшем получение свойств объектов которые хранятся в ArrayList
Всем привет. Задача следующая: a. Есть классы Fruit -&gt; Apple, Orange;(больше фруктов не надо) b....

В чем разница между new ArrayList<String>() и new ArrayList<>()?
подскажите,знатоки,в чем разность между ArrayList &lt;String&gt; stringList = new ArrayList&lt;String&gt;();...

Обращение к элементам ArrayList, который в другом ArrayList
Здравствуйте. У меня есть arraylist типа arraylist. А уже каждый внутренний arraylist типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru