List the difference between findElement and findElements methods in WebDriver?

findElement() findElements()
The findElement() method returns first matching  WebElement object based on a specified search criteria. The findElements() method returns a list of WebElements matching the search criteria
throw up NoSuchElementFoundException 

exception when they fail to find the desired element using the specified locator strategy.

 If no elements are found, it returns an empty list.
WebElement findElement(By by)
java.util.List<WebElement> findElements(By by)