Я не уверен, что полностью понимаю ваше требование.Кажется, вы хотите List
с отдельными строками, отсортированными после применения регулярного выражения к каждому элементу массива.Это List
будет иметь как элементы, так и их количество:
List<String> list = Arrays.stream(arr)
.map(s -> s.replaceAll("[^a-z]", ""))
.distinct()
.sorted()
.collect(Collectors.toList());
Теперь, list
содержит элементы.И если вы также хотите узнать, сколько элементов в нем содержится, просто используйте метод List.size
:
int count = list.size();
РЕДАКТИРОВАТЬ: Если вам также необходимо Stream
сстроки, измененные, уникальные и отсортированные, просто создайте новый Stream
из list
:
Stream<String> newStream = list.stream();