Вы можете использовать сборщики и счетчики.
Arrays.stream(str.split(" "))
.collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()));
В результате получается Map<String, Long>
со следующим содержимым:
{<==2, service=2, cos=1, sin=1, *=2, +=3, <=1, /=1}
Kotlin не позволяет указывать универсальные типы без предоставления универсальных типов, если вы не ссылаетесь на не принадлежащий экземпляру класса. (статические внутренние классы, ::class
, сопутствующие методы). Поскольку ViewHolder
является внутренним классом, его идентичность зависит от точной спецификации его внешнего класса, когда речь идет о самом типе.
Это означает, что вы не можете ссылаться на универсальный ExpandableRecyclerAdapter.ViewHolder
, вы должны указать границы, в которых также находится внешний класс. Изменение на ExpandableRecyclerAdapter<T>.ViewHolder
должно решить проблему.