Как возвести в N-ую степень ArrayList?

296
02 декабря 2017, 09:24

Здравствуйте!

Моя проблема заключается в том, что я не могу возвести в степень элементы ArrayList.

Вот как я пытаюсь сделать это:

ArrayList<Double> sqrtD = new ArrayList<Double>();
sqrtD.add(1.0);
sqrtD.add(2.0);
for(int i=0;i<sqrtD.size();i++){
    sqrtD.add(Math.pow(sqrtD.get(i), 2));       
}
Answer 1

Создайте новый списочный массив, либо сэтом изменяйте существующие. Зачем вы добавляете к имеющимся новые элементы? Или так предусмотрено тз? Например arrList.set(i, Math.pow(arrList.get(i), n));

Answer 2

А можно всё решить довольно просто и в пару строк, используя Java 8 Stream API:

List<Double> doubles = Arrays.asList(1.0, 2.0);
doubles = doubles.stream().map(d -> Math.pow(d, 2)).collect(Collectors.toList());
Answer 3

Вы добавляете новые элементы в список, а не изменяете существующие. Для того, чтобы изменять итерируюмую коллекцию, стоит воспользоваться итератором:

ArrayList<Double> sqrtD = new ArrayList<>();
sqrtD.add(1.0);
sqrtD.add(2.0);
ListIterator<Double> iterator = sqrtD.listIterator();
while (iterator.hasNext()) {
    iterator.set(Math.pow(iterator.next(), 2));
}
Answer 4
ArrayList<Double> sqrtD = new ArrayList<Double>();
sqrtD.add(1.0);
sqrtD.add(2.0);
for(int i=0;i<sqrtD.size();i++){
    double pow = Math.pow(sqrtD.get(i), 2);
    sqrtD.remove(i);
    sqrtD.add(i, pow);
}
READ ALSO
Проблема с ресурсами в war(Java)

Проблема с ресурсами в war(Java)

Добрый день, возникла проблема с использованием ресурсов в WAR проекте, уже и не знаю что делать

288
Обработка ошибок в Android Java

Обработка ошибок в Android Java

Проблема такая: пишу приложения с соединением с серверомДелаю простой AsyncTask с Callback

224
Jasperreports &amp; Google Crome

Jasperreports & Google Crome

Есть следующий код по формированию отчетов в форматах PDF и XLSПри этом, содержимое файла report_name

277
Java, графические библиотеки

Java, графические библиотеки

Подскажите библиотеку для 3д графики, желательно простуюНужно отобразить xyz-систему координат и разместить в ней множество сфер, некоторые...

277