Вопросы с тегом «collections»

6
Почему Java 8 не включает неизменяемые коллекции?
Команда Java проделала огромную работу по устранению барьеров для функционального программирования в Java 8. В частности, изменения в коллекциях java.util делают большую работу по объединению преобразований в очень быстрые потоковые операции. Учитывая, как хорошо они проделали работу, добавив первоклассные функции и функциональные методы к коллекциям, почему они полностью не смогли …

9
Стоит ли неизменность, когда нет параллелизма?
Кажется, что безопасность потоков всегда / часто упоминается как основное преимущество использования неизменяемых типов и особенно коллекций. У меня есть ситуация, когда я хотел бы убедиться, что метод не будет изменять словарь строк (которые являются неизменными в C #). Я хотел бы ограничить вещи как можно больше. Однако я не …

6
Хорошая или плохая практика маскировать коллекции Java значимыми именами классов?
В последнее время у меня была привычка «маскировать» коллекции Java с понятными для человека именами классов. Несколько простых примеров: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Или же: // If you saw a ArrayList<ArrayList<?>> being passed around in the …

8
Почему java.util.ArrayList позволяет добавлять нуль?
Интересно, почему java.util.ArrayListпозволяет добавить null. Есть ли какой-либо случай, когда я хотел бы добавить nullк ArrayList? Я задаю этот вопрос , потому что в проекте мы имели ошибку , когда некоторый код добавлял nullк , ArrayListи это было трудно определить , где ошибка была. Очевидно, что NullPointerExceptionбыл брошен, но только …

9
Должен ли я принимать пустые коллекции в моих методах, которые проходят по ним?
У меня есть метод, где вся логика выполняется внутри цикла foreach, который перебирает параметр метода: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } В этом случае отправка пустой коллекции приводит к пустой коллекции, но мне интересно, если это неразумно. …

6
Я бы хотел написать алгоритм «идеального шаффла» для сортировки моей коллекции mp3
Я ищу варианты псевдокодов для сортировки моих mp3-файлов таким образом, чтобы избежать повторения названий и исполнителей . Я слушаю эстрадных певцов - Фрэнка Синатру, Тони Беннетта, Эллу Фицджеральд и других, поющих старые стандарты. Каждый артист записывает множество одинаковых песен - Fly Me To The Moon, The Way You Look Tonight, …

2
Java: почему коллекции принимают компаратор, а не (гипотетический) хэшер и экватор?
Эта проблема наиболее очевидна, когда у вас есть разные реализации интерфейса, и для целей конкретной коллекции вы заботитесь только о представлении объектов на уровне интерфейса. Например, предположим, что у вас был такой интерфейс: public interface Person { int getId(); } Обычный способ реализации hashcode()и equals()реализации классов должен иметь такой код …
25 java  collections 

1
Почему массивы в .Net имеют длину, а другие типы коллекций имеют число? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Например, в C # массивы имеют свойство Length. Но другие типы коллекций, такие как …


4
Можно ли частично изменить коллекцию с помощью PUT или DELETE?
У меня есть коллекция продуктов в группе продуктов, например: product-groups/123/products Если мне нужно добавить в коллекцию, это нормально, что я пропускаю только некоторые продукты с PUT? Если мне нужно удалить некоторые товары из коллекции, можно ли передать данные фильтра (массив идентификаторов) с помощью команды DELETE? Какой лучший способ реализовать функциональность …
21 rest  collections 

5
Эффективный способ перемешивания объектов
Я пишу программу для некоторых программ викторины. У меня есть класс вопросов, содержащий ArrayLists для вопроса, ответа, опций, отметок и отрицательных отметок. Что-то вроде этого: class question { private ArrayList<Integer> index_list; private ArrayList<String> question_list; private ArrayList<String> answer_list; private ArrayList<String> opt1_list; private ArrayList<String> opt2_list; } Я хочу перетасовать все вопросы, но …
20 java  collections 

3
Разумно ли возвращать потоки везде, где мы обычно возвращаем коллекции?
Разрабатывая мой API, который не привязан к какому-либо устаревшему коду, я часто нахожу себя пишущим методы, которые являются чисто конвейерными потоками и заканчиваются сбором результатов. Как этот: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } Теперь большинству клиентов этого класса обычно требуется Collection (в данном случае ImmutableSet) для …

3
Как метод модульного теста, который возвращает коллекцию, избегая при этом логики в тесте
Я тест-драйв метод, который заключается в создании коллекции объектов данных. Я хочу убедиться, что свойства объектов установлены правильно. Некоторые свойства будут установлены одинаково; другим будет присвоено значение, которое зависит от их положения в коллекции. Естественный способ сделать это, кажется, с петлей. Однако Рой Ошеров настоятельно рекомендует не использовать логику в …

5
Выделение кучи Java быстрее, чем в C ++
Я уже разместил этот вопрос на SO, и он сделал хорошо. К сожалению, он был закрыт (требуется только один голос для повторного открытия), но кто-то предложил мне опубликовать его здесь, так как он лучше подходит, поэтому следующее буквально является копией вопроса Я читал комментарии к этому ответу и увидел эту …

2
Упаковочная структура коллекций Java (java.util) - почему Iterable находится в java.lang?
Согласно приведенной ниже диаграмме, за исключением интерфейса Iterable, все остальные конструкции (интерфейс / класс / абстрактный класс) находятся в одном пакетеjava.util Почему Iterableсидит в java.langпакете? Примечание: намерение состоит в том, чтобы понять аспект упаковки Java-программирования.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.