| 1 | = ImmutableList |
| 2 | |
| 3 | ImmutableList is similar to the common java.util.List: it contains a list of elements. |
| 4 | However, the big differences are |
| 5 | * ImmutableList is immutable, so it can not be modified |
| 6 | * ImmutableList is generating elements on request only, and does not keep the elements. |
| 7 | |
| 8 | As a simple comparison, suppose you need a list of all integers between 1000 and 2000. You could write a loop to fill 1000 elements of an ArrayList. Alternatively, you can create an ImmutableList instance where get(n) creates and returns the expected element on request. |
| 9 | |
| 10 | This mechanism is especially useful when large lists are used, or when you already know that the user of the list will only pick a few items from the list, or even just wants to know the size of the list. |
| 11 | |