每个人在Kotlin中使用不同的方法

I don't know how to put the title, but it's a question I have been thinking about for a long time. When I examined the codes, I saw that it was used in a way that is not included in the Android reference. How can I learn these methods? E.g:

RecyclerView.Adapter<ModelViewHolder>

另一个例子:

RecyclerView.Adapter<Adapter.ModelViewHolder>

Another question is how can I learn when to use the parameters in the function below. And do these parameters always need to be written? There is only an explanation in the Android reference, I want to know how it works:

override fun onCreateViewHolder (parent: ViewGroup, viewType: Int)