JAVA. Как осуществлять поиск по полям объектов в ArrayList?
Есть заполненный объект:
ArrayList arpbase = new ArrayList();
класс arphost имеет поля:
public class arphost {
private String mac;
private String ip;
private String firm;
Задача: в arpbase найти индексы всех объектов arphost поле "ip" которых содержит "192.168"
На крайний случай готов писать цикл который будет извлекать локальную переменную "ip" каждого объекта arpbase, искать подстроку и запоминать индексы этих объектов.
Однако, думаю существуют более изящное решение.
Я ищу готовый код (класс, метод и т .п.), который бы частично или полностью реализовывал бы возможности поиска по доступным локальным переменным объектов.
Можете описать зачем вам нужны именно индексы? Более изящное решение будет только если вы используете java 8 или guava или retrolambda. В стандартной библиотеке к сожалению Java не сильна в работе с коллекциями
индексы нужны чтобы я потом мог извлекать удовлетворяющие параметрам поиска объекты целиком. Буду благодарен узнать об иных способах работы с подходящими объектами.
То, что вы написали (цикл и проверка на соответствие для каждого элемента), является единственным решением для этой структуры данных.
Более изящным решением может быть использование какого-нибудь TreeSet, с данными, отсортированными по ip
8-я джава уже вышла, ждать не надо. А код с использованием гуавы и без сахара из 8-ки смотрится так себе, поэтому даже создатели гуавы рекомендуют использовать это только тогда, когда нужны ленивые вычисления и прочие функциональные фишки (пруф: https://code.google.com/p/guava-libraries/wiki/Fun... )