Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.03.2018
Сообщений: 10
1

Счетчик элементов в базе по совпадающему полю, вывод значения последнего элемента

20.03.2018, 14:28. Показов 1025. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как подсчитать количество записей с совпадающим полем и выводить это значение вместо обычного инкремента currentNumber

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public User createUser(User user) {
        Set<User> set = userRepository.getAllUsers(); // JPA запрос "SELECT DISTINCT u.userTitle FROM User u" 
        Object[] list = set.toArray();
        HashMap<Object, Integer> hm = new HashMap<Object, Integer>();
        Integer currentNumber = userRepository.getMaxUserNumber().orElse(0); // JPA запрос возвращающий количество записей
        Integer item;
 
        for (Object i : list) {
            item = hm.get(i);
            if (item == null) hm.put(i, 1); // если нет в списке то добавить со значением 1
            else hm.put(i, item + 1); // если есть такая фамилия(Key), то +1
        }
       
        user.setUserNumber(currentNumber + 1); //currentNumber - hm.size()
        return userRepository.save(user);
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2018, 14:28
Ответы с готовыми решениями:

Вычислить количество элементов, значения которых меньше значения последнего элемента массива
Вычеслить кол-во элементов, значения которых меньше значения последнего элемента массива. Массив из...

Вычислить количество элементов, значения которых меньше значения последнего элемента массива
Здравствуйте, нужна помощь. Надо вычислить количество элементов, значения которых меньше значения...

Сформировать новый массив из элементов исходного массива, значения которых больше значения последнего элемента
Вводить элементы одномерного массива до тех пор , пока текущее значение больше суммы уже введенных...

Найти количество элементов массива, отличных от значения последнего элемента
массив из 50 чисел и заполнить его случайными числами.сколько в нем элементов, отличных от...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.03.2018, 15:19 2
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
public static void main(String args[]) throws IOException {
        List<User> users = new ArrayList<>();
        users.add(new User("a", 10));
        users.add(new User("a", 11));
        users.add(new User("b", 12));
        List<User> collect = users.stream().map(UserDecorator::new).distinct().map(UserDecorator::getUser).collect(toList());
        System.out.println(collect);
    }
 
    @Data
    @AllArgsConstructor
    class User {
        private String name;
        private int age;
    }
 
    @Data
    @AllArgsConstructor
    class UserDecorator {
        private User user;
 
        @Override
        public boolean equals(Object o) {
            if (this == o) {
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
                return false;
            }
            UserDecorator that = (UserDecorator) o;
            return Objects.equals(user.getName(), that.user.getName());
        }
 
        @Override
        public int hashCode() {
            return user.getName().hashCode();
        }
    }
собственно вместо toList можно сделать toMap и посчитать количество, если надо
1
0 / 0 / 0
Регистрация: 20.03.2018
Сообщений: 10
20.03.2018, 17:12  [ТС] 3
xoraxax, благодарю за ответ, можете пояснить относительно
List<User> collect = users.stream().map(UserDecorator::new).distinct().map(UserDecorator::getUser).co llect(toList());

Не получилось корректно у себя аналогичным способом реализовать, collect после операции с листом что в себе будет содержать?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.03.2018, 20:34 4
лист пользователей, в котором не будет двух пользователей с одинаковым именем

Добавлено через 24 секунды
можно же запустить и посмотреть, да?
0
0 / 0 / 0
Регистрация: 20.03.2018
Сообщений: 10
21.03.2018, 00:00  [ТС] 5
Благодарю, а как получить последний добавленный элемент(не общее число элементов в списке, а именно тот, что был добавлен последним)
0
21.03.2018, 00:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2018, 00:00
Помогаю со студенческими работами здесь

Найти сумму элементов значения которых больше последнего элемента матрицы
Тема:матрицы Помогите пожалуйста с задачей и блок-схемой В матрице А найти сумму элементов...

В матрице найти сумму элементов значения которых больше последнего элемента
В матрице А найти сумму элементов значения которых больше последнего элемента мат-рицы. Если таких...

Массив: Вычислить произведение элементов, значение которых меньше значения последнего элемента.
Помогите решить Вычислить произведение элементов, значение которых меньше значения последнего...

Определить количество элементов, значения которых меньше модуля последнего отрицательного элемента массива
В одномерном числовом массиве x определить количество элементов, значения которых меньше...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru