Вы можете эмулировать его следующим образом:
countDownLatch = {
count: 0,
check: function() {
this.count--;
if (this.count == 0) this.calculate();
},
calculate: function() {...}
};
, тогда каждый асинхронный вызов выполняет следующее:
countDownLatch.count++;
, в то время как в каждом асинхронном обратном вызове в конце метода вы добавьте эту строку:
countDownLatch.check();
Другими словами, вы эмулируете функцию обратного отсчета.
Set<String> numbers = phonebook.get(person);
if (numbers.size() > 1) {
System.out.println("numbers :");
}
numbers.stream().forEach(System.out::println);
Вы можете просто проверить size
из Set
перед циклом.
public void getNumber(String person) {
if (this.phonebook.get(person)
.size() > 1) {
System.out.println("numbers :");
}
for (final String n : this.phonebook.get(person)) {
System.out.println(n);
}
}