Запитання з тегом «collections»

API колекцій надають розробникам набір класів та інтерфейсів, які спрощують обробку колекцій об'єктів.

7
C # Ітерація через NameValueCollection
У мене є NameValueCollection, і я хочу переглядати значення. На даний момент я роблю це, але, схоже, це повинен бути більш акуратний спосіб: NameValueCollection nvc = new NameValueCollection(); nvc.Add("Test", "Val1"); nvc.Add("Test2", "Val1"); nvc.Add("Test2", "Val1"); nvc.Add("Test2", "Val2"); nvc.Add("Test3", "Val1"); nvc.Add("Test4", "Val4"); foreach (string s in nvc) foreach (string v in nvc.GetValues(s)) …

7
StringD Dictionary vs Dictionary <рядок, рядок>
Хтось уявляє, які практичні відмінності існують між об'єктом System.Collections.Specialized.StringDictionary та System.Collections.Generic.Dictionary? Раніше я використовував їх обох, не надто замислюючись про те, які ефективніші результати, краща робота з Linq чи надання будь-яких інших переваг. Будь-які думки чи пропозиції щодо того, чому я повинен використовувати одне над іншим?

3
Чому існує WeakHashMap, але немає WeakSet?
Від Дж. Блоха ... джерелом витоків пам'яті є слухачі ... Найкращий спосіб забезпечити, щоб зворотні виклики були негайно зібраним сміттям, - це зберігати лише слабкі посилання на них, наприклад, зберігаючи їх лише як ключі в WeakHashMap . Отже, чому у фреймворку Java Collections немає жодного WeakSet ?

10
Чому слід віддавати перевагу інтерфейсу для класу Java?
PMD повідомляє про порушення щодо: ArrayList&lt;Object&gt; list = new ArrayList&lt;Object&gt;(); Порушення було "Уникайте використання типів реалізації, таких як 'ArrayList'; замість цього використовуйте інтерфейс". Наступний рядок виправить порушення: List&lt;Object&gt; list = new ArrayList&lt;Object&gt;(); Чому останній Listслід використовувати замість ArrayList?

3
Яка найшвидша колекція Java з основними функціоналами черги?
Яка найшвидша колекція на Java? Мені потрібні лише операції додавання та видалення, порядок не важливий, рівні елементи не є проблемою, не більше ніж додавання та видалення є важливим. Без обмеження розмір теж важливий. У цій колекції будуть об’єкти всередині нього. В даний час я використовую ArrayDeque, оскільки я бачу, що …

8
Найкраще втілення для структури даних даних ключових значень?
Отож я останнім часом трохи потикався з C #, і всі Загальні колекції мене трохи бентежать. Скажімо, я хотів представити структуру даних, де головою дерева була пара значень ключа, а потім є один необов’язковий список пар значень ключа нижче цього (але не більше рівнів, ніж ці). Чи підходить це? public …

4
Чому Enumeration перетворюється на ArrayList, а не List в java.utils?
Чи є поважна причина, що метод Collections.list () у java.utilsпакеті повертає ArrayList&lt;T&gt;замість List&lt;T&gt;? Очевидно, що a ArrayListє List, але у мене складається враження, що загалом є гарною практикою повертати тип інтерфейсу замість типу реалізації.

15
Найкращий спосіб видалити предмети з колекції
Який найкращий спосіб підійти до видалення елементів із колекції в C #, як тільки елемент стане відомим, але не його індексом. Це один із способів зробити це, але в кращому випадку це здається неелегантним. //Remove the existing role assignment for the user. int cnt = 0; int assToDelete = 0; …
74 c#  collections 

2
Чому EnumMap не сортується на Java?
EnumMap&lt;K extends Enum&lt;K&gt;, V&gt; в Java чітко впорядковано за визначенням асоційованого enum, як ви також можете бачити в javadoc: Карти Enum підтримуються в природному порядку їхніх ключів (порядку, в якому оголошуються константи enum). Це знаходить своє відображення в Ітератор повернутого видом колекцій ( keySet(), entrySet()і values()). Що мені потрібно - …

4
Отримайте співробітників до та після конкретної дати приєднання зі списку працівників з потоку Java
Я маю Listв Employeeс з різними датами приєднання. Я хочу отримати працівників до і після конкретної дати приєднання зі Списку за допомогою потоків. я спробував наступний код, List&lt;Employee&gt; employeeListAfter = employeeList.stream() .filter(e -&gt; e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List&lt;Employee&gt; employeeListBefore = employeeList.stream() .filter(e -&gt; e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String name; LocalDate …

3
Повернення списку за замовчуванням, якщо список порожній за допомогою java 8 Streams?
Чи є спосіб, щоб нижче можна було виконати як один набір операцій потоку, замість того, щоб чітко перевіряти, чи рекомендованіПродукти порожні, потім повернути список за замовчуванням, ще повернути відфільтрований список ? public List&lt;Product&gt; getRecommendedProducts() { List&lt;Product&gt; recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return DEFAULT_PRODUCTS; } return recommededProducts; …

4
Ефективний спосіб ітерації та копіювання значень HashMap
Я хочу конвертувати: Map&lt;String, Map&lt;String, List&lt;Map&lt;String, String&gt;&gt;&gt;&gt; inputMap до: Map&lt;String, Map&lt;String, CustomObject&gt;&gt; customMap inputMapнадається в конфігурації і готово, але мені потрібно customMapФорматувати. CustomObject буде отриманий з List&lt;Map&lt;String, String&gt;&gt;використання декількох рядків коду у функції. Я спробував нормальний спосіб ітерації вхідної карти та копіювання ключових значень у customMap. Чи є якийсь ефективний …

2
Як я можу безпечно копіювати колекції?
Раніше я казав, що безпечно копіювати колекцію, роблячи щось на кшталт: public static void doThing(List&lt;String&gt; strs) { List&lt;String&gt; newStrs = new ArrayList&lt;&gt;(strs); або public static void doThing(NavigableSet&lt;String&gt; strs) { NavigableSet&lt;String&gt; newStrs = new TreeSet&lt;&gt;(strs); Але чи справді ці "копіюючі" конструктори, подібні статичні методи створення та потоки, справді безпечні та де …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.