How to get a list of attribute values

Is there a way to directly get a list of a specific attribute of a list of elements?
Let’s say I have a list of 10 elements that each contain a Text attribute. My goal is to have a list of strings with the value of these 10 Text attributes.

What I have today is the following:

public List getTextList() {
List elementsList = driver.findElements(By.xpath(“xpathToGetListOfElements”));
List textsList = new ArrayList<>();
for (int i = 0; i < elementsList.size(); i++) {
textsList.add(i, elementsList.get(i).getText());
}
return textsList;
}

It does work, but it doesn’t look like the most efficient way to do it. Is there a way to directly extract the values using an Xpath, or a method other than findElements?