# Set-specific operations

The Kotlin collections package contains extension functions for popular operations on sets: finding intersections, merging, or subtracting collections from each other.

To merge two collections into one, use the `union()`

function. It can be used in the infix form `a union b`

. Note that for ordered collections the order of the operands is important. In the resulting collection, the elements of the first operand go before the elements of the second:

To find an intersection between two collections (elements present in both of them), use the `intersect()`

function. To find collection elements not present in another collection, use the `subtract()`

function. Both these functions can be called in the infix form as well, for example, `a intersect b`

:

To find the elements present in either one of the two collections but not in their intersection, you can also use the `union()`

function. For this operation (known as symmetric difference), calculate the differences between the two collections and merge the results:

You can also apply `union()`

, `intersect()`

, and `subtract()`

functions to lists. However, their result is *always* a `Set`

. In this result, all the duplicate elements are merged into one and the index access is not available: