return пустой массив
Либо делать костыль через .getClass() , что в данном случае будет реальный костыль.
А если вам нужно определенный тип возвращать, то тут уж, еще проще:
public static int[] returnIntArray()
UPD:
public static double[] steigung(double[] d, double r)
System.out.println(steigung(null, 0)); // null System.out.println(steigung(null, 1)); // null System.out.println(steigung(new double[0], 0)); // null System.out.println(steigung(new double[0], 1).length); // 0 System.out.println(steigung(new double[1], 1).length); // 0 System.out.println(steigung(new double[2], 1).length); // 2
Как вернуть пустой список java
Откуда принято в java брать пустые коллексии и мапы?
Вот если в случае ошибки метод возвращает не null а просто пусотй лист, то как лучше сделать?
Объект будет использоваться только для просмотра.
Так?
. List lst = new List; return lst; .
Или в джаве есть какие-то константы для пустых коллекций и мап?
Re: Как правильно возвращать пустые List и Map?
| От: | Blazkowicz | |
| Дата: | 30.07.07 20:39 | |
| Оценка: | 4 (4) +2 | |
Здравствуйте, Аноним, Вы писали:
А>Или в джаве есть какие-то константы для пустых коллекций и мап?
Collections.EMPTY_LIST
Collections.EMPTY_MAP
Re[2]: Как правильно возвращать пустые List и Map?
| От: | Andrei N.Sobchuck | www.smalltalk.ru |
| Дата: | 31.07.07 08:26 | |
| Оценка: |
Здравствуйте, Blazkowicz, Вы писали:
А>>Или в джаве есть какие-то константы для пустых коллекций и мап?
B>Collections.EMPTY_LIST
B>Collections.EMPTY_MAP
А если хочется дженериков, то
Collection.emptyList() и т.д.
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
Re[3]: Как правильно возвращать пустые List и Map?
| От: | S_Mall |
| Дата: | 31.07.07 09:54 |
| Оценка: |
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Здравствуйте, Blazkowicz, Вы писали:
Все выше сказанное верно, но если Вы хотите в дальнейшем использовать эти листы, мапы(добавлять элементы, удалять и т.д.), то просто можно не заморачиваясь вернуть new ArrayList(), new HashMap() или любую другую желаемую реализацию List, Map .
В случае же исплользования Collections.emptyList() или emptyMap() при попытке к примеру добавить элемент будет проброшен UnsupportedOperationException
Re[4]: Как правильно возвращать пустые List и Map?
| От: | Blazkowicz |
| Дата: | 31.07.07 09:57 |
| Оценка: |
Здравствуйте, S_Mall, Вы писали:
S_M>Все выше сказанное верно, но если Вы хотите в дальнейшем использовать эти листы, мапы(добавлять элементы, удалять и т.д.), то просто можно не заморачиваясь вернуть new ArrayList(), new HashMap() или любую другую желаемую реализацию List, Map .
S_M>В случае же исплользования Collections.emptyList() или emptyMap() при попытке к примеру добавить элемент будет проброшен UnsupportedOperationException
Это все конечно очень здоровское замечание, только
«Объект будет использоваться только для просмотра.» — исходное условие.
Re[4]: Как правильно возвращать пустые List и Map?
| От: | Аноним |
| Дата: | 31.07.07 14:10 |
| Оценка: |
Здравствуйте, S_Mall, Вы писали:
S_M>Все выше сказанное верно, но если Вы хотите в дальнейшем использовать эти листы, мапы(добавлять элементы, удалять и т.д.), то просто можно не заморачиваясь вернуть new ArrayList(), new HashMap() или любую другую желаемую реализацию List, Map .
И не забыем указывать 0 как initialCapacity для коллекций — зачем пустому ArrayList внутри масив на 10 елементов?
Re[5]: Как правильно возвращать пустые List и Map?
| От: | Blazkowicz |
| Дата: | 01.08.07 07:28 |
| Оценка: |
Здравствуйте, Аноним, Вы писали:
А>И не забыем указывать 0 как initialCapacity для коллекций — зачем пустому ArrayList внутри масив на 10 елементов?
Как вернуть пустой список java
Для создания простых списков применяется интерфейс List , который расширяет функцональность интерфейса Collection. Некоторые наиболее часто используемые методы интерфейса List:
- void add(int index, E obj) : добавляет в список по индексу index объект obj
- boolean addAll(int index, Collection col) : добавляет в список по индексу index все элементы коллекции col. Если в результате добавления список был изменен, то возвращается true, иначе возвращается false
- E get(int index) : возвращает объект из списка по индексу index
- int indexOf(Object obj) : возвращает индекс первого вхождения объекта obj в список. Если объект не найден, то возвращается -1
- int lastIndexOf(Object obj) : возвращает индекс последнего вхождения объекта obj в список. Если объект не найден, то возвращается -1
- ListIterator listIterator () : возвращает объект ListIterator для обхода элементов списка
- static List of(элементы) : создает из набора элементов объект List
- E remove(int index) : удаляет объект из списка по индексу index, возвращая при этом удаленный объект
- E set(int index, E obj) : присваивает значение объекта obj элементу, который находится по индексу index
- void sort(Comparator comp) : сортирует список с помощью компаратора comp
- List subList(int start, int end) : получает набор элементов, которые находятся в списке между индексами start и end
По умолчанию в Java есть встроенная реализация этого интерфейса — класс ArrayList . Класс ArrayList представляет обобщенную коллекцию, которая наследует свою функциональность от класса AbstractList и применяет интерфейс List. Проще говоря, ArrayList представляет простой список, аналогичный массиву, за тем исключением, что количество элементов в нем не фиксировано.
ArrayList имеет следующие конструкторы:
- ArrayList() : создает пустой список
- ArrayList(Collection col) : создает список, в который добавляются все элементы коллекции col.
- ArrayList (int capacity) : создает список, который имеет начальную емкость capacity
Емкость в ArrayList представляет размер массива, который будет использоваться для хранения объектов. При добавлении элементов фактически происходит перераспределение памяти — создание нового массива и копирование в него элементов из старого массива. Изначальное задание емкости ArrayList позволяет снизить подобные перераспределения памяти, тем самым повышая производительность.
Используем класс ArrayList и некоторые его методы в программе:
import java.util.ArrayList; public class Program < public static void main(String[] args) < ArrayListpeople = new ArrayList(); // добавим в список ряд элементов people.add("Tom"); people.add("Alice"); people.add("Kate"); people.add("Sam"); people.add(1, "Bob"); // добавляем элемент по индексу 1 System.out.println(people.get(1));// получаем 2-й объект people.set(1, "Robert"); // установка нового значения для 2-го объекта System.out.printf("ArrayList has %d elements \n", people.size()); for(String person : people) < System.out.println(person); >// проверяем наличие элемента if(people.contains("Tom")) < System.out.println("ArrayList contains Tom"); >// удалим несколько объектов // удаление конкретного элемента people.remove("Robert"); // удаление по индексу people.remove(0); Object[] peopleArray = people.toArray(); for(Object person : peopleArray) < System.out.println(person); >> >
Консольный вывод программы:
Bob ArrayList has 5 elements Tom Robert Alice Kate Sam ArrayList contains Tom Alice Kate Sam
Здесь объект ArrayList типизируется классом String, поэтому список будет хранить только строки. Поскольку класс ArrayList применяет интерфейс Collection, то мы можем использовать методы данного интерфейса для управления объектами в списке.
Для добавления вызывается метод add . С его помощью мы можем добавлять объект в конец списка: people.add(«Tom») . Также мы можем добавить объект на определенное место в списке, например, добавим объект на второе место (то есть по индексу 1, так как нумерация начинается с нуля): people.add(1, «Bob»)
Метод size() позволяет узнать количество объектов в коллекции.
Проверку на наличие элемента в коллекции производится с помощью метода contains . А удаление с помощью метода remove . И так же, как и с добавлением, мы можем удалить либо конкретный элемент people.remove(«Tom»); , либо элемент по индексу people.remove(0); — удаление первого элемента.
Получить определенный элемент по индексу мы можем с помощью метода get() : String person = people.get(1); , а установить элемент по индексу с помощью метода set : people.set(1, «Robert»);
С помощью метода toArray() мы можем преобразовать список в массив объектов.
И поскольку класс ArrayList реализует интерфейс Iterable, то мы можем пробежаться по списку в цикле аля for-each: for(String person : people) .
Хотя мы можем свободно добавлять в объект ArrayList дополнительные объекты, в отличие от массива, однако в реальности ArrayList использует для хранения объектов опять же массив. По умолчанию данный массив предназначен для 10 объектов. Если в процессе программы добавляется гораздо больше, то создается новый массив, который может вместить в себя все количество. Подобные перераспределения памяти уменьшают производительность. Поэтому если мы точно знаем, что у нас список не будет содержать больше определенного количества элементов, например, 25, то мы можем сразу же явным образом установить это количество, либо в конструкторе: ArrayList people = new ArrayList(25); , либо с помощью метода ensureCapacity : people.ensureCapacity(25);
Как вернуть пустой список java
А как создать лист, не указав класс внутренних объектов? Например мне надо написать метод универсальный что для int что для String.
Дмитрий Уровень 29
9 марта 2022
Вероятно, в предложении перед пунктом с описанием метода get(int index), указали неверно метод — должен быть accept(), по факту action().
Рустем Уровень 24
10 августа 2021
почему при попытке клонирования как в статье, получаю clone() has protected access in java.lang.Object ? или там какие-то действия за кадром остались (при этом пробовал и чтобы класс имплементировал Clonable и проброс ошибки throws CloneNotSupportedException) ?
Steve Stifler Уровень 14
1 июня 2021
Объясните пожалуйста: «add(E e) Добавляет новый элемент в конец списка. Возвращает boolean-значение.». Куда оно возвращает значение? Оно же просто добавляет элемент! Часто вижу, что что-то возвращается, но не могу это понять и представить в голове, как это работает?
Виктор Уровень 20 Expert
26 сентября 2020
Спасибо, отличная статья, доступно всё изложено и помогает решить соответствующие задачи. Законспектировал к себе на канал : ) — Канал в телеге про Java и Android, в котором есть книги для скачивания, статьи, видеоуроки, чат для обмена знаниями и моральной поддержки : ) Давайте учиться вместе: @LetsCodeIt p. s. Мой личный телеграм канал вкатывальщика в прогерство: @SefoNotasi
19 мая 2020
Сортировка списка по заданному правилу. Правило сортировки представляет собой реализованный интерфейс Comparator с переопределенным методом compareTo(). А я думаю, что речь идёт об интерфейсе Comparable. Все встроенные типы данных поддерживают этот интерфейс. Давайте откроем класс java.lang.Integer. Мы видим, что этот класс реализует интерфейс java.util.Comparable. Вот доказательство: public final class Integer extends Number implements Comparable