Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/64: Рейтинг темы: голосов - 64, средняя оценка - 4.92
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21

ArrayList сложение элементов

26.08.2018, 12:00. Показов 13032. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу сообразить, как в решённом примере не создавать пару уже сложенных элементов?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ArrayList<Integer> num = new ArrayList<>();
        num.add(1);
        num.add(2);
        num.add(3);
        num.add(4);
        num.add(2);
        num.add(3);
        num.add(5);
 
        int summ = 5;
        int count = 0;
        for(int i = 0; i < num.size(); i++)
            for(int j = i+1; j < num.size(); j++) {
            if (num.get(i) + num.get(j) == summ)
                count++; }
            System.out.println(count);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.08.2018, 12:00
Ответы с готовыми решениями:

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

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

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

20
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 12:07
AleKr, ты бы сначала пояснил, что хочешь сделать...

Добавлено через 4 минуты
Количество элементов, сумма которых равна 5?
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 12:11  [ТС]
вообще задача состоит в чтоб, чтоб посчитать элементы массива в сумме которые дают "5". результат то выводит. Но появляется новая задача: не должны использоваться элементы повторно, которые уже в паре.

Добавлено через 1 минуту
да, только как то нужно те элементы в паре изолировать... мож их удалять?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 12:16
AleKr, т.е. в данном случае должно получиться 3?
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 12:28  [ТС]
да, почитаю щас еще про удаление в liste..
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 12:29
AleKr, подсказка - смотри Iterator
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 12:43  [ТС]
Мда, удалять не получится ... Iterator с Хэшами же идет?, т.е. придется на Хэш переходить в данном случае, или я ошибаюсь?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
26.08.2018, 12:44
AleKr, я бы через линкедлист решил, использовав очередь, но это дело вкуса

Добавлено через 32 секунды
Цитата Сообщение от AleKr Посмотреть сообщение
Iterator с Хэшами же идет?, т.е. придется на Хэш переходить в данном случае, или я ошибаюсь?
моя твоя не понимать) ты о чем?
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 12:57  [ТС]
Нашёл...
... Порядок, в котором перебираются элементы, зависит от типа коллекции. Так, если осуществляется перебор элементов коллекции типа ArrayList, итератор начинает его с нулевого индекса, увеличивая последнее значение на каждом шаге итерации. Но если осуществляется перебор элементов коллекции типа HashSet, то они получаются в совершенно случайном порядке. Можно быть уверенным лишь в том, что за время итерации будут перебраны все элементы коллекции, хотя нельзя сделать никаких предположений относительно порядка их следования. Обычно это не особенно важно, потому что порядок не имеет значения при таких вычислениях, как, например, подсчет суммы иди количества совпадений.

Добавлено через 5 минут
я только учусь применять коллекции, поэтому в стадии познаний
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 12:59
AleKr, молодец!
А для удаления элементов можно использовать не просто Iterator, а ListIterator.
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 17:42  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
А для удаления элементов можно использовать не просто Iterator, а ListIterator.
...

т.е. iterator и ListIterator использовать к LinkedList, вместо существующего ArrayList, правильно понял?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 17:45
Цитата Сообщение от AleKr Посмотреть сообщение
правильно понял?
нет

Ты бы почитал про коллекции для начала, вник - что там к чему...
Хотя бы вот это https://javadevblog.com/obzor-... ework.html
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
26.08.2018, 18:21
AleKr, итератор есть у любой коллекции, в листе (и аррейлист и линкедлист) порядок элементов гарантируется, так что про хеши не задумывайся. Я тебя сбил с линкедлистом, можно и на аррейлисте решить, просто на ЛЛ можно очередь организовать из коробки.
1
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 19:01  [ТС]
хорошо, почитаю. так то читал сегодня по вникал, но лишнем не будет. В Хорстмане вроде писали область по типам применения переменных в коллекциях, поэтому задался вопросом.
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 22:42  [ТС]
вот сделал, так правильно?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) {
        int summ = 5;
        int count = 0;
        int a = 0;
 
     ArrayList<Integer> num = new ArrayList<>();
        num.add(1);
        num.add(2);
        num.add(3);
        num.add(4);
        num.add(2);
        num.add(3);
        num.add(5);
 
     Iterator<Integer> it = num.iterator();
        if (it.hasNext()) {
            for (int i = 1; i < num.size(); i++)
                for (int j = i - 1; j < num.size(); j++) {
                    a = num.get(i) + num.get(j);
                if (a == summ) { count++;
                it.next(); it.remove();}
            }
        }  System.out.println(count);
    }
}
Миниатюры
ArrayList сложение элементов  
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 23:00
Цитата Сообщение от AleKr Посмотреть сообщение
так правильно?
нет.

Зачем циклы? Итератор - это по сути и есть цикл.
Не if (it.hasNext()) {
а while (it.hasNext()) {
Т.е. пока есть "перебираемый" элемент...
a = it.next()
'a' равно этому элементу.
...
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 23:04  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Зачем циклы? Итератор - это по сути и есть цикл.
Не if (it.hasNext()) {
а while (it.hasNext()) {
Т.е. пока есть "перебираемый" элемент...
a = it.next()
'a' равно этому элементу.
...
... ну писал чначала while, потом на if исправил после не удачно бесконечного исполнения ....
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 23:07
Лучший ответ Сообщение было отмечено AleKr как решение

Решение

AleKr, вобщем, делай как делал, на циклах, просто при срабатывании условия переписывай значения на 10, например...
0
 Аватар для AleKr
0 / 0 / 0
Регистрация: 01.01.2018
Сообщений: 21
26.08.2018, 23:14  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
вобщем, делай как делал, на циклах, просто при срабатывании условия переписывай значения на 10, например...
да, исправил, if поменял на while... потом не пошло... удалил while... в итоге получил рабочую компиляцию. Ну и за одно познакомился с итератором и начитался про коллекции!

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class LevelSeven {
    public static void main(String[] args) {
        int summ = 5;
        int count = 0;
        int a = 0;
 
     ArrayList<Integer> num = new ArrayList<>();
        num.add(1);
        num.add(2);
        num.add(3);
        num.add(4);
        num.add(2);
        num.add(3);
        num.add(5);
 
     Iterator<Integer> it = num.iterator();
 
            for (int i = 1; i < num.size(); i++)
                for (int j = i - 1; j < num.size(); j++) {
                    a = num.get(i) + num.get(j);
                if (a == summ) { count++;
                it.next(); it.remove();}
            }
          System.out.println(count);
    }
}
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.08.2018, 23:16
Типа того...
Java
1
2
3
4
5
6
7
8
9
10
11
int summ = 5;
        int count = 0;
        for (int i = 0; i < num.size(); i++)
            for (int j = i + 1; j < num.size(); j++) {
                if (num.get(i) + num.get(j) == summ) {
                    count++;
                    num.set(i, 10);
                    num.set(j, 10);
                }
            }
        System.out.println(count);


Добавлено через 1 минуту
И в теги JAVA код заворачивай!
https://www.cyberforum.ru/abou... 03521.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2018, 23:16
Помогаю со студенческими работами здесь

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

Вывод элементов из ArrayList
Привет,подскажите ,пожалуйста,как вывести из обычного аррайлиста элементы например с первого по пятый?А то вот есть list.get,но он,как я...

Произвольная вставка элементов в ArrayList
Всем привет. По заданию нужно сгенерировать 1_000_000 последовательных целых чисел и после записать их в коллекцию в произвольном порядке....

Проверить вхождение 3 элементов в ArrayList
Простой класс: public class ForStream { private int shortId; private long longId; public ForStream(int shortId, long...

Удаление элементов списка ArrayList
Пытаюсь удалить из списка из 20 элементов все значения, что делятся на 2 и, соответственно, вывести все в консоль. Просто? и мне так...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru