#java #arrays #sorting #limit
Вопрос:
Я хочу спросить вас, есть ли способ установить ограничение на количество элементов массива в java, кроме как установить его в начале int arr[] = new int[30]
( и размер составляет 30 элементов). Можете ли вы установить ограничение между 1 и 10 элементами с некоторым условием, например, следующим?
int[] array = new int[28];
Можете ли вы объявить это как-то так (это не работает, я попробовал несколько других вариантов, но не смог найти решение.
while (array.length <= 1 amp;amp; array.length >= 30) {
return 0;
}
(или что-то в этом роде).
И мой второй вопрос, который, возможно, более жизнеспособен, заключается в том, можете ли вы установить ограничение на сами элементы, например, когда вам нужно отсортировать их после и если элемент >= 100, чтобы выдать ошибку. что-то вроде:
if (input <= 1 amp;amp; input <= 150)
break;
Ответ №1:
Создайте список (ArrayList или LinkedList или любая другая реализация удовлетворяет вашим потребностям), примените свое условие к списку с помощью Stream API и ограничьте размер, соответствующий вашему бизнесу, затем преобразуйте его в массив простым вызовом
list.toArray(Integer[]::new)
Комментарии:
1. Тем не менее, как я могу ограничить количество элементов между двумя входами, например, максимальная длина списка должна составлять 20, а минимальная-2?
2. Или вы можете написать это в качестве примера, используя потоковый API? Спасибо.
3. Используйте java Stream Api для ограничения списка, list.stream()…limit(20).toArray(Целое число[]::новое), где три точки-ваша логика
4. Целое число[] результат = list.size() >=2 ? list.stream().limit(20).toArray(Целое число[]::новое) : null;
5. Если вы нашли ответ, пожалуйста, проголосуйте и примите его в качестве ответа, тх.
Ответ №2:
Для этого вы можете использовать java ArrayList.
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Комментарии:
1. В вопросе говорилось, что массив не перечисляется .