Size: a a a

2020 June 22

SK

Sergei Kutcher in learn.java
Добрый день!
Есть такая здача:
List разных объектов (имплеминтаций)
Мне нужно удалить из него n - штук элементов i - имплеминтации
Я делаю стрим, фильтрую его filter(s -> s.getClass.getSimpleName.equals(type)))

А что мне дальше делать с отфильтрованными данными? Например удалить 4 элемента с min значением?
источник

VG

Vladislav Golovatyi in learn.java
Iaroslav Orlov
все нормально. тогда вам нужно.
1. получить поле: Class#getField
2. получить массив анноаций Field#getAnnotations
3. отфильтровать массив и найти NotBlank
понял, спасибо
источник

IO

Iaroslav Orlov in learn.java
Sergei Kutcher
Добрый день!
Есть такая здача:
List разных объектов (имплеминтаций)
Мне нужно удалить из него n - штук элементов i - имплеминтации
Я делаю стрим, фильтрую его filter(s -> s.getClass.getSimpleName.equals(type)))

А что мне дальше делать с отфильтрованными данными? Например удалить 4 элемента с min значением?
просто любые n штук убрать?
источник

SK

Sergei Kutcher in learn.java
Iaroslav Orlov
просто любые n штук убрать?
нет, убрать n-штук с самым низким  value
источник

T

Tagir in learn.java
Arti Chornyi Shampinyon
так и делаю, проблема в том, что в алгоритме надо брать индекс элемента, а у меня он в лонг
           count[(arr[i]/div%10L)]++;
Ну кастани в инт. (int). И, кстати, на десять делят только в детских учебниках. Бери 256 корзин, будет норм
источник

T

Tagir in learn.java
Степень двойки
источник

T

Tagir in learn.java
И дели беззнаково
источник

T

Tagir in learn.java
Иначе будут проблемы
источник

IO

Iaroslav Orlov in learn.java
Sergei Kutcher
нет, убрать n-штук с самым низким  value
минуту, сейчас набросаю
источник

T

Tagir in learn.java
Long.remainderUnsigned
источник

В

Влад in learn.java
Вроде как после фильтрации можно получать только один элемент
источник

В

Влад in learn.java
findFirst
источник

В

Влад in learn.java
Или findAny
источник

В

Влад in learn.java
И если не ошибаюсь фильтр возвращает стрим?
источник

В

Влад in learn.java
Либо из этого стрима просто сделай лист
источник

SK

Sergei Kutcher in learn.java
Iaroslav Orlov
просто любые n штук убрать?
Я еще делаю
.sorted(Comparator.comparing(Inter::getValue))
источник

В

Влад in learn.java
Присвой его в этот же лист
источник

В

Влад in learn.java
Отсортируй по компоратору
источник

IO

Iaroslav Orlov in learn.java
Sergei Kutcher
Я еще делаю
.sorted(Comparator.comparing(Inter::getValue))
сделайте sorted, да, а потом skip(4)
источник

T

Tagir in learn.java
Sergei Kutcher
Добрый день!
Есть такая здача:
List разных объектов (имплеминтаций)
Мне нужно удалить из него n - штук элементов i - имплеминтации
Я делаю стрим, фильтрую его filter(s -> s.getClass.getSimpleName.equals(type)))

А что мне дальше делать с отфильтрованными данными? Например удалить 4 элемента с min значением?
filter(...).sorted().limit(4).collect(toList()). А потом removeAll. Есть подводные камни, но в принципе для учебной задачи пойдёт
источник