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

97
Элегантный способ инвертировать карту в Scala

Изучая Scala в настоящее время, необходимо инвертировать карту, чтобы выполнить поиск по инвертированному значению-> ключу. Я искал простой способ сделать это, но нашел только: (Map() ++ origMap.map(kvp=>(kvp._2->kvp._1))) У кого-нибудь есть более элегантный подход?...

97
Элегантный способ объединить несколько коллекций элементов?

Скажем, у меня есть произвольное количество коллекций, каждая из которых содержит объекты одного типа (например, List<int> fooи List<int> bar). Если бы эти коллекции сами были в коллекции (например, типа List<List<int>>, я мог бы использовать, SelectManyчтобы объединить их...

97
C # Сортируемая коллекция, позволяющая дублировать ключи

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

97
Почему Collections.sort использует Mergesort, а Arrays.sort - нет?

Я использую JDK-8 (x64). Для Arrays.sort(примитивов) я нашел в документации по Java следующее: Алгоритм сортировки - это Dual-Pivot Quicksort от Владимира Ярославского, Джона Бентли и Джошуа Блоха. Для Collections.sort(объектов) я нашел этот "Тимсорт": Эта реализация представляет собой стабильную,...

97
Создать список примитивных int?

Есть ли способ создать список примитивов int или любых примитивов в java, как показано ниже? List<int> myList = new ArrayList<int>(); Кажется, я могу List myList = new ArrayList(); и добавьте "int" в этот список. Но тогда это означало бы, что я могу добавить что угодно в этот список....

96
Как правильно получить подмассив в Scala?

Я пытаюсь получить подмассив в scala, и я немного не понимаю, как это сделать правильно. Больше всего мне хотелось бы, чтобы это было похоже на то, как это можно сделать в python: x = [3, 2, 1] x[0:2] но я совершенно уверен, что вы не можете этого сделать. Наиболее очевидный способ сделать это -...

94
Могу ли я использовать инициализатор коллекции для записей Dictionary <TKey, TValue>?

Я хочу использовать инициализатор коллекции для следующего фрагмента кода: public Dictionary<int, string> GetNames() { Dictionary<int, string> names = new Dictionary<int, string>(); names.Add(1, "Adam"); names.Add(2, "Bart"); names.Add(3, "Charlie"); return names; } Обычно это...

94
Почему неизменяемый набор Scala не ковариантен по своему типу?

РЕДАКТИРОВАТЬ : переписал этот вопрос на основе исходного ответа scala.collection.immutable.SetКласс не ковариантен в параметре типа. Почему это? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = { println(s) } def bar(): Unit = { val s: Set[String] = Set("Hello", "World");...

93
Как преобразовать объект Java (bean) в пары ключ-значение (и наоборот)?

Скажем, у меня есть очень простой объект java, который имеет только некоторые свойства getXXX и setXXX. Этот объект используется только для обработки значений, в основном записи или типобезопасной (и производительной) карты. Мне часто нужно преобразовать этот объект в пары ключ-значение (строковые...

92
Метод HashSet <T> .removeAll на удивление медленный

Джон Скит недавно поднял интересную тему программирования в своем блоге: «В моей абстракции есть дыра, дорогая Лиза, дорогая Лиза» (курсив мой ): У меня есть набор - собственно HashSetговоря. Я хочу удалить из него некоторые элементы… а многие из них могут не существовать. Фактически, в нашем...

92
Как применить шаблон обогащения моей библиотеки к коллекциям Scala?

Один из самых мощных моделей , доступных в Scala является обогащает-мою библиотеку * шаблон, который использует неявные преобразования , чтобы появиться , чтобы добавить методы к существующим классам , не требуя разрешения метода динамического. Например, если бы мы хотели, чтобы у всех строк был...

92
Использование потоков для сбора в TreeSet с настраиваемым компаратором

Работая в Java 8, у меня есть такое TreeSetопределение: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport это довольно простой класс, определенный следующим образом: public static final class...

91
Как сделать мой ArrayList потокобезопасным? Другой подход к проблеме в Java?

У меня есть список ArrayList, который я хочу использовать для хранения объектов RaceCar, расширяющих класс Thread, как только они закончат выполнение. Класс с именем Race обрабатывает этот список ArrayList с помощью метода обратного вызова, который объект RaceCar вызывает по завершении выполнения....

90
Что лучше - вернуть ImmutableMap или карту?

Допустим, я пишу метод, который должен возвращать Map . Например: public Map<String, Integer> foo() { return new HashMap<String, Integer>(); } Поразмыслив над этим некоторое время, я решил, что нет причин изменять эту карту после ее создания. Таким образом, я хотел бы вернуть...

88
Преобразование коллекции Java в коллекцию Scala

Связанный с вопросом о переполнении стека. Scala-эквивалент нового HashSet (Collection) , как мне преобразовать коллекцию Java ( java.util.Listскажем) в коллекцию Scala List? На самом деле я пытаюсь преобразовать вызов Java API в Spring SimpleJdbcTemplate , который возвращает a...

87
Есть ли что-нибудь вроде асинхронного BlockingCollection <T>?

Я хотел бы получить awaitрезультат BlockingCollection<T>.Take()асинхронно, чтобы я не блокировал поток. Ищу что-нибудь подобное: var item = await blockingCollection.TakeAsync(); Я знаю, что могу это сделать: var item = await Task.Run(() => blockingCollection.Take()); но это как бы убивает...