LINUX.ORG.RU

Выборка из коллекции

 , ,


0

1

Есть коллекция бин-объектов

ArrayList<Image> images; //Image объект
состоящая из
//часть контроллера наполняющая ArrayList<Image> images;
while (rs.next()) {
                Image image = new Image();
                image.setId(rs.getInt("id"));
                image.setUser_id(rs.getInt("user_id"));
                image.setLot_id(rs.getInt("lot_id"));
                image.setImage(rs.getBytes("image"));
                
                images.add(image);
            }
нужно реализовать выборку из коллекции images в коллекцию selectedImages через lot_id, как это сделать? Вот на что хватило -
public ArrayList<Image> getImagesById(int id) {

        ArrayList<Image> selectedImages = new ArrayList<>();
        
        if(true){         //тут условие, если images.getImage.getLotId = id; - как реализовать эту строку? нужно вытянуть из коллекции конкретный объект Image для сравнения
            selectedImages.add(image);
        }
                          
        return selectedImages;
    }


ArrayList<Image> selectedImages = images.stream().filter(obj -> obj.getLotId() == id).collect(Collectors.toCollection(ArrayList::new))

Типа такого?

И да, не юзай подчеркивание в именах кроме констант.

slyjoeh ★★★
()
Последнее исправление: slyjoeh (всего исправлений: 3)

Если id уникален, выкидывай ArrayList и доставай HashMap. Иначе всё это быстро затянется при большом количестве Image'эй.

Adonai ★★★
()
Ответ на: комментарий от Adonai

Ид уникален, с Хешем не сталкивался, обязательно прочту ман.

Andreu
() автор топика
Ответ на: комментарий от stevejobs

jdk8, сейчас через цикл for подсказали, новый api нужно понять как работает (тот что выше показали), сразу через SQL, наверно, нельзя, применяю компонент PrimeFaces

<p:galleria value="#{galleriaBean.images}" var="image" >
<p:graphicImage value="#{image.path}" 
title="#{image.title}" alt="#{image.description}" />
</p:galleria>
Теперь, думаю, нужно в value передать байты через сервлет для присвоения типа контента jpeg, в теории должно работать, как думаете?

Andreu
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.