Я изучаю потоки Java и хочу знать, есть ли что-то не так с этим кодом. Поскольку я использую параллельный поток, я использовал ConcurrentHashMap.Концепция параллельных потоков
class Person {
private String name;
public String getName() {
return this.name;
}
}
и
ConcurrentHashMap<Integer, Person> map = <Mapping of id to Person>
List<Integer> list = <list of Id>
list = list.parallelStream()
.filter(id -> map.containsKey(id)
&& !Strings.isNullOrEmpty(map.get(id).getName()))
.collect(Collectors.toList());
«если что-то не так с этим кодом» вы получаете какие-либо ошибки/неправильные результаты? – Pshemo
Мне просто интересно, вызовет ли доступ к карте в этом контексте любые нежелательные результаты. – user3704576
Это может зависеть от того, что вы подразумеваете под * нежелательным *. Также, что вы подразумеваете под доступом? Может ли другой поток модифицировать эту карту при ее потоке? Может ли эта модификация игнорироваться потоком? – Pshemo