Запитання з тегом «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 code, would you // …

8
Чому java.util.ArrayList дозволяє додати null?
Цікаво, чому 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, Stardust тощо. …

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()); } Зараз більшості клієнтів цього класу зазвичай потрібна колекція (у цьому випадку ImmutableSet) …

3
Як розділити метод тесту, який повертає колекцію, уникаючи логіки в тесті
Я є тестовим керуванням методом, який полягає у формуванні колекції об'єктів даних. Хочу переконатися, що властивості об’єктів встановлені правильно. Деякі властивості будуть встановлені на одне і те ж; для інших буде встановлено значення, яке залежить від їх положення в колекції. Природний спосіб зробити це, здається, за допомогою петлі. Однак Рой …

5
Виділення Java Heap швидше, ніж 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.