Описание тега unmodifiable

1 ответ

hashCode и равно для Collections.unmodifiableCollection()

Collections В классе есть несколько статических вспомогательных методов, которые предоставляют представления только для чтения различных типов коллекций, таких как unmodifiableSet(), unmodifiableList()и т. д. Для этих объектов просмотра hashCode() а…
12 окт '12 в 02:03
3 ответа

Параллельный доступ к неизменяемой карте

@Singleton @LocalBean @Startup @ConcurrencyManagement(ConcurrencyManagementType.BEAN) public class DeliverersHolderSingleton { private volatile Map<String, Deliverer> deliverers; @PostConstruct private void init() { Map<String, Deliverer&gt…
04 июл '13 в 14:00
1 ответ

Как создать коллекцию только для чтения в fastutil?

В стандартной библиотеке у нас есть такие методы, как Collections#unmodifiableCollection() Не могу найти то же самое для типов коллекций в fastutil. Пожалуйста, подсказка!
22 апр '17 в 09:31
2 ответа

Создание неизменяемых объектов

У меня есть Java-приложение, в котором уровень домена отделен от интерфейса контроллерами. Проблема заключается в том, что эти контроллеры могут возвращать доменные объекты и могут иметь доменные объекты в качестве параметров. Некоторые из этих возв…
18 фев '12 в 14:06
6 ответов

Как создать глубокую неизменяемую коллекцию?

Я часто делаю поле сбора неизменяемым, прежде чем вернуть его из метода получения: private List<X> _xs; .... List<X> getXs(){ return Collections.unmodifiableList(_xs); } Но я не могу придумать удобный способ сделать это, если X выше сам …
06 янв '09 в 09:55
7 ответов

API коллекций Java: почему Unmodifiable[List|Set|Map] не являются публично видимыми классами?

Collections.unmodifiableList(...) возвращает новый экземпляр статического внутреннего класса UnmodifiableList, Другие классы немодифицируемых коллекций строятся таким же образом. Были ли эти классы публичными, у одного было два преимущества: возможн…
28 ноя '10 в 11:56
3 ответа

Класс, описывающий неизменный упорядоченный набор

Мне нужно некоторое имя класса / интерфейса, которое описывает неизменный, упорядоченный набор (в порядке ввода, например, LinkedHashSet). Конечно, я могу использовать класс следующим образом: class Foo { public final Set<Long> frozenOrderedSe…
28 июл '14 в 22:53
1 ответ

Клонировать / Скопировать неизменяемый список

Есть ли другой вариант для меня, чтобы изменить неизменяемый список, кроме ручного обхода и помещения контента в новый массив? Некоторые разработчики предпочитают создавать API таким образом, а не клонировать.
31 авг '16 в 10:04
3 ответа

Возвращение неизменяемой карты

С помощью Collections.unmodifiableMap(...) Я пытаюсь вернуть неизменяемый вид карты. Допустим, у меня есть следующий метод, public final Map<Foo, Bar> getMap(){ ... return Collections.unmodifiableMap(map); } Почему в другом месте разрешено дел…
15 авг '11 в 15:08
9 ответов

Collections.unmodifiableList и защитная копия

Если я напишу List<Integer> a1 = Arrays.asList(1, 2, 3); List<Integer> a2 = Collections.unmodifiableList(a1); a2 только для чтения, но если я напишу a1.set(0,10); затем a2 также модифицируется. Если в API сказано: Возвращает неизменяемое…
27 фев '13 в 11:35
1 ответ

JavaScript, определяющий неизменяемые перечисления

Итак, я был вдохновлен этим вопросом ( Перечисления в JavaScript?), Чтобы приступить к работе над вставкой библиотеки для JavaScript, чтобы включить немодифицируемые перечисления. У меня уже есть прилично работающий метод, но я бы хотел еще больше е…
26 сен '13 в 18:04
1 ответ

Почему мой `unmodifiableList` модифицируется?

Я хочу List чьи элементы не могут быть удалены или добавлены. Я думал, что нашел ответ с Collections.unmodifiableList в Java 8. Я передаю свой первоначальный список и получаю обратно предположительно неизменяемый список. Тем не менее, когда я удаляю…
02 сен '15 в 20:41
7 ответов

Неизменяемый список в Java

Я пытаюсь установить List неизменяемый. В моем коде у меня есть метод, который возвращает список. Этот список не должен быть изменен, но я не хочу перехватывать исключение, возвращаемое unmodifiableList. private List<T> listeReferenceSelectAll…
03 май '13 в 09:57
3 ответа

Почему не изменяемые методы из класса Collections не создают коллекции с новыми элементами?

Предположим, есть этот код: List<String> modifiableList = new ArrayList<String>(Arrays.asList("1","2","3")); List<String> unmodifiableList = Collections.unmodifiableList(modifiableList); System.out.println(unmodifiableList); modifi…
06 фев '14 в 13:25
3 ответа

Когда нужна немодифицируемая карта (действительно)?

У меня есть карта констант, например: private static Map<String, Character> _typesMap = new HashMap<String, Character>() { { put ("string", 'S'); put ("normalizedString", 'N'); put ("token", 'T'); // (...) } Мне действительно нужно испол…
22 окт '10 в 16:50
6 ответов

Как вернуть потокобезопасную / неизменяемую коллекцию в Java?

В проекте, который я пишу, мне нужно вернуть потокобезопасное и неизменное представление из функции. Однако я не уверен в этом. поскольку synchronizedList а также unmodifiableList просто вернуть представления списка, я не знаю, если Collections.sync…
2 ответа

Общий unmodifiableList

Я написал: this.array = (X[]) Array.newInstance(init.getClass(), size); // ... public List<X> get() { return Collections.<X>unmodifiableList(this.array); } Но я получаю ошибку: unmodifiableList в коллекциях не может быть применен к (X[])…
27 июл '17 в 08:31
2 ответа

Как Collections.unmodifiableList (Java 8 SE) изменяется при создании нового ArrayList из него?

У меня есть получатель, который возвращает неизменяемый список, как таковой: public List<Product> getProductList() { if (productList == null) return new ArrayList<>(); return Collections.unmodifiableList(productList); } Я называю этот ге…
09 июл '18 в 19:53
2 ответа

Кто-то нарушает мою сортировку списка - теперь какой подход выбрать: вернуть немодифицируемый список или новый список вообще?

Я использую списки на веб-сервере jsf, например, для доступа к модели данных с веб-страниц. Доступ к этим спискам также осуществляется из других мест (веб-сервисы, инструменты). Есть фрагмент кода, который нарушается кем-то, прибегающим к списку, ко…
29 окт '12 в 13:55
0 ответов

Библиотека с реализацией неизменяемого списка Java и такой метод, как createAndAdd?

Я хотел бы сделать что-то вроде: final unmodifiableList1 = staticMethodForUnmodifiableList(1,2,3,4); final unmodifiableList2 = unmodifiableList1.createAndAdd(5); System.out.println(unmodifiableList1); // prints 1, 2, 3, 4 System.out.println(unmodifi…
26 апр '18 в 07:15