При этом меня интересует, поддерживается ли порядок вставки, когда в текущей реализации не происходит удаления.
blockquote>Да, поддерживается в 4.7.2. По состоянию на 18 января 2019 года.
Я подозреваю, что частью проблемы здесь является понимание разницы между контрактом и реализацией.
Реализация из
HashSet
в 4.7.2 будет поддерживать порядок вставки (если вы не удаляете элементы). Но вы изначально не спрашивали об этом. Вы спросили:порядок вставки гарантирован
blockquote>И на этот вопрос однозначный ответ. Нет. Не гарантированы гарантии метода по реализации, но по договору. И контракт гласит:
Набор - это коллекция, которая не содержит повторяющихся элементов и элементы которой не имеют определенного порядка.
blockquote>Просто нет способа прочитать это утверждение в каким-либо другим способом , кроме того, что нет гарантий относительно порядка.
Теперь - вы можете игнорировать гарантии и развертывать приложение, основываясь на текущем поведении. И до тех пор, пока Microsoft не выпустит исправление Windows Update, которое изменяет поведение (или ваш код работает в другой реализации, такой как Mono и т. Д.), Вы, вероятно, будете в порядке. Но , вероятно, не совпадает с , определенно (или гарантировано ).
Проверьте Anyterm, он использует канал XmlHttpRequest для общения с демоном, который использует псевдотерминал для общения с оболочкой или другим приложением.
До сих пор Shell JSDom является единственной вещью, которую я нашел, который кажется относительно скелетами, но практичный. Если существуют какие-либо другие более существенные опции, не стесняйтесь совместно использовать!