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

130
Почему Java 8 не включает неизменяемые коллекции?

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

53
Стоит ли неизменность, когда нет параллелизма?

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

46
Хорошая или плохая практика маскировать коллекции Java значимыми именами классов?

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

41
Почему java.util.ArrayList позволяет добавлять нуль?

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

40
Должен ли я принимать пустые коллекции в моих методах, которые проходят по ним?

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

33
Я бы хотел написать алгоритм «идеального шаффла» для сортировки моей коллекции mp3

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

25
Java: почему коллекции принимают компаратор, а не (гипотетический) хэшер и экватор?

Эта проблема наиболее очевидна, когда у вас есть разные реализации интерфейса, и для целей конкретной коллекции вы заботитесь только о представлении объектов на уровне интерфейса. Например, предположим, что у вас был такой интерфейс: public interface Person { int getId(); } Обычный способ...

23
Почему массивы в .Net имеют длину, а другие типы коллекций имеют число? [закрыто]

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

21
Можно ли частично изменить коллекцию с помощью PUT или DELETE?

У меня есть коллекция продуктов в группе продуктов, например: product-groups/123/products Если мне нужно добавить в коллекцию, это нормально, что я пропускаю только некоторые продукты с PUT? Если мне нужно удалить некоторые товары из коллекции, можно ли передать данные фильтра (массив...

20
Эффективный способ перемешивания объектов

Я пишу программу для некоторых программ викторины. У меня есть класс вопросов, содержащий ArrayLists для вопроса, ответа, опций, отметок и отрицательных отметок. Что-то вроде этого: class question { private ArrayList<Integer> index_list; private ArrayList<String> question_list; private...

19
Разумно ли возвращать потоки везде, где мы обычно возвращаем коллекции?

Разрабатывая мой API, который не привязан к какому-либо устаревшему коду, я часто нахожу себя пишущим методы, которые являются чисто конвейерными потоками и заканчиваются сбором результатов. Как этот: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return...

14
Как метод модульного теста, который возвращает коллекцию, избегая при этом логики в тесте

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

13
Выделение кучи Java быстрее, чем в C ++

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

12
Упаковочная структура коллекций Java (java.util) - почему Iterable находится в java.lang?

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

11
Почему разные коллекции Java имеют различную емкость по умолчанию?

Глядя на разных конструкторов коллекций, возникает вопрос. Почему ArrayList () создает пустой список с начальной емкостью десять, а ArrayDeque () создает пустой массив массивов с начальной емкостью, достаточной для хранения 16...

10
Какой алгоритм требует набора?

На моих первых курсах программирования мне сказали, что я должен использовать набор всякий раз, когда мне нужно что-то сделать, например удалить дубликаты чего-либо. Например: чтобы удалить все дубликаты из вектора, выполните итерацию по указанному вектору и добавьте каждый элемент в набор, после...

9
Отслеживание всех объектов класса

Я новичок в объектно-ориентированном программировании и продолжаю сталкиваться с этой проблемой. (Я программирую на Java) Я немного неохотно спрашиваю об этом, поскольку это кажется такой основной проблемой, но я не могу найти какую-либо информацию по этому вопросу или вопросы по этому поводу...