Android provides recycler view for presenting lists of data.
The RecyclerView component displays a scrolling list of changing, but similarly structured, data. RecyclerView works well for long lists of data, where the number of items might change over time. Unlike the more generic ScrollView, the RecyclerView only renders elements that are currently showing on the screen, not all the elements at once.
The RecyclerView component provides various adapters which can be used for displaying simple lists, lists with header and footer, sectioned list etc.
This example creates a basic RecyclerView of hardcoded data. Each item is rendered as a TextView.
If you want to render a set of data broken into logical sections, maybe with section headers, similar to UITableView on iOS, then a RecyclerView with groupie adapter is the way to go.
One of frequent requirements in listview is to filter data. An example of filtering data in recycler view is shown below: