Все они уникальны, да
blockquote>Если вы уверены, что ваши значения уникальны, вы можете перебирать записи своей старой карты.
Map
myNewHashMap = new HashMap<>(); for(Map.Entry entry : myHashMap.entrySet()){ myNewHashMap.put(entry.getValue(), entry.getKey()); } В качестве альтернативы вы можете использовать двунаправленную карту, например Guava , и использовать метод
inverse()
:BiMap
myBiMap = HashBiMap.create(); myBiMap.put('a', "test one"); myBiMap.put('b', "test two"); BiMap myBiMapInversed = myBiMap.inverse(); As java-8 отсутствует, вы также можете сделать это следующим образом:
Map
map = new HashMap<>(); map.put("a",1); map.put("b",2); Map mapInversed = map.entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey)) Наконец, я добавил свой вклад в библиотеку протонных пакетов , который содержит утилиты для Stream API. С этим вы можете сделать это следующим образом:
Map
mapInversed = MapStream.of(map).inverseMapping().collect();
Все, что вам нужно сделать, это использовать except
в файле gitlab-ci.yml
и добавить ваши ветви непосредственно ниже:
mybuild:
stage: test
image: somedockerimage
script:
- some script running
except:
- branch-name
Это без проблем работает над моим проектом.