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

Как вытащить одно из одинаковых значений в коллекции ArrayList

21.01.2014, 21:39. Показов 2821. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть коллекция с набором некоторых значений:
Java
1
2
3
4
5
6
7
8
9
ArrayList test = new ArrayList();
test.add(5);
test.add(8);
test.add(2);
test.add(2);
test.add(7);
test.add(4);
test.add(2);
test.add(9);
Вопрос - как получить индексы всех записей, значения которых равны 2?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2014, 21:39
Ответы с готовыми решениями:

Как с ArrayList вытащить предпоследнее значение
Подскажите как с ArrayList вытащить предпоследнее значение, если размер неизвестен и при каждом расчете может изменятся. підскажіть як з...

Как вытащить из IEnumerable коллекции объект по запросу
Здравствуйте! В контроллере во вьюху передается две коллекции, коллекции представлены в виде IEnumerable<T>: ...

Сортировка коллекции ArrayList
Подскажите пожалуйста можно ли отсортировать коллекцию ArrayList, методом Sort, если в ней находятся различные типы. Например, что было...

13
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
21.01.2014, 22:07
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ArrayList test = new ArrayList();
        test.add(5);
        test.add(8);
        test.add(2);
        test.add(2);
        test.add(7);
        test.add(4);
        test.add(2);
        test.add(9);
 
        for (int i = 0; i < test.size(); i++) {
            if ((int) test.get(i) == 2) {
                System.out.println(i);
            }
        }
0
 Аватар для Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
21.01.2014, 22:10
Java
1
2
3
4
5
6
ArrayList<Integer> some = new ArrayList<Integer>();
for (int i = 0; i < test.size(); i++){
    if (test.get(i) == 2){
        some.add(i);
    }
}
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
21.01.2014, 22:11
Declarer,
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
27
package com.sevak_avet.Test;
 
import java.util.ArrayList;
import java.util.List;
 
public class Test {
    public static void main(String[] args) {
        List<Integer> test = new ArrayList<>();
        test.add(5);
        test.add(8);
        test.add(2);
        test.add(2);
        test.add(7);
        test.add(4);
        test.add(2);
        test.add(9);
 
        List<Integer> indexes = new ArrayList<>();
        for (int i = 0; i < test.size(); ++i) {
            if (test.get(i) == 2) {
                indexes.add(i);
            }
        }
 
        System.out.println(indexes);
    }
}
Добавлено через 34 секунды

Не по теме:

не успел :D

0
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
21.01.2014, 22:11  [ТС]
Ну я так и думал, встречный вопрос: если у меня будет миллион записей и нужные мне находятся в конце, сколько времени займет цикл?
0
 Аватар для Booker DeWitt
1 / 1 / 0
Регистрация: 04.05.2013
Сообщений: 20
21.01.2014, 22:15
Declarer, у меня немного другой вопрос возникает - сколько памяти этой займет с динамическими массивами-то? Наверно не мало. Вот на хабре 100000 целых чисел кто-то смотрел - 40 мб заняло памяти.
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
21.01.2014, 22:16
Declarer, времени займет немало, но вы уж решите, нужны ли вам индексы или нет, если нет - тогда можно подумать
0
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
21.01.2014, 22:19
Цитата Сообщение от Declarer Посмотреть сообщение
если у меня будет миллион записей и нужные мне находятся в конце, сколько времени займет цикл?
А есть способ быстрее обычного цикла? - тут просто других вариантов нет. Ладно бы массив был изначально отсортирован.
0
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
21.01.2014, 22:23  [ТС]
Севак, может и нет, на самом деле задача следующая: есть три такие коллекции, они хранят координаты x, y и z, много. По некоторому событию придут координаты предмета, и их надо удалить из коллекции, для каждого предмета координаты находятся по одному и тому же индексу, мне нужно выяснить по какому и удалить запись.
0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
22.01.2014, 00:09
Declarer, легче создать класс, содержащий ваши координаты, хранить в листе эти самые объекты и удалять уже их, а не хранить кооридинаты по 3ем разным коллекциям, что-то типо этого:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.sevak_avet.Test;
 
import java.util.ArrayList;
import java.util.List;
 
public class Test {
    public static void main(String[] args) {
        List<Coordinats> arr = new  ArrayList<>();
        arr.add(new Coordinats(1,2,3));
        arr.add(new Coordinats(1,1,3));
        arr.add(new Coordinats(1,-5,3));
        
        System.out.println(arr);
        System.out.println(arr.get(0).equals(new Coordinats(1, 2, 3))); // удаляем элемент с кооридантами 1 2 3, проверяем что equals работает правильно
        
        arr.remove(new Coordinats(1, 2, 3));
        System.out.println(arr);
    }
}
 
class Coordinats {
    private double x;
    private double y;
    private double z;
    
    public Coordinats(double x, double y, double z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
    
    @Override
    public String toString() {
        return String.format("x: %.2f y: %.2f z: %.2f", x, y, z);
    }
    
    @Override
    public boolean equals(Object obj) {
        Coordinats cur = (Coordinats) obj;
        return cur.x == x && cur.y == y && cur.z == z;
    }
}
1
22.01.2014, 00:24

Не по теме:

Севак, а hashCode()? ;D

0
любитель покушать
 Аватар для Севак
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
22.01.2014, 00:31
tankomaz,
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
27
28
29
30
31
@Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        long temp;
        temp = Double.doubleToLongBits(x);
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits(y);
        result = prime * result + (int) (temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits(z);
        result = prime * result + (int) (temp ^ (temp >>> 32));
        return result;
    }
 
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Coordinats other = (Coordinats) obj;
        if (Double.doubleToLongBits(x) != Double.doubleToLongBits(other.x))
            return false;
        if (Double.doubleToLongBits(y) != Double.doubleToLongBits(other.y))
            return false;
        if (Double.doubleToLongBits(z) != Double.doubleToLongBits(other.z))
            return false;
        return true;
    }


Не по теме:

eclipse generated

1
13 / 13 / 6
Регистрация: 07.02.2013
Сообщений: 214
22.01.2014, 17:54  [ТС]
А зачем этот хэш-код?
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
22.01.2014, 21:05
такой вот тынц Севак уже делал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2014, 21:05
Помогаю со студенческими работами здесь

Не удаётся применить свойство this [int] коллекции ArrayList
Всё просто, имею: class Animalss : ArrayList { public Animalss() { } } //код...

Помогите доделать программу с помощью коллекции класса ArrayList
Необходимо доделать программу с помощью коллекции класса ArrayLis. using System; namespace Lab8 { struct Kafedra { ...

Коллекции List/ArrayList: чем отличаются и для чего нужны?
ОБЪЯСНИТЕ ЧТО ТАКОЕ LIST И ARRAYLIST,ЧЕМ ОНИ ОТЛИЧАЮТСЯ И ДЛЯ ЧЕГО НУЖНЫ ВОТ ЕЩЕ ДВА ЗАДАНИЯ,Я ЧТО-ТО ПОПЫТАЛСЯ СДЕЛАТЬ,НО ПОКА ЧТО НЕ...

Пример создания коллекции объектов с использованием интерфейса List и класса ArrayList
package main; public class Main { public static void main(String args) { Segment s1 = new Segment(0.0, 0.0, 0.0, 1.0,...

Коллекции и перебор значений - как реализовать?
даны 3 слова = 4 буквы, 4 буквы, 5 букв. одинаковые буквы заменяются на одинаковые цифры, превращая слова в некоторые числовые значения. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
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 Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
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. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru