---
title: "difference(from:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/int/words-swift.struct/difference(from:)"
---

# difference(from:)

Returns the difference needed to produce this collection’s ordered elements from the given collection.

## Declaration

```swift
func difference<C>(from other: C) -> CollectionDifference<Self.Element> where C : BidirectionalCollection, Self.Element == C.Element
```

## Parameters

- `other`: The base state.

## Return Value

Return Value The difference needed to produce this collection’s ordered elements from the given collection.

## Discussion

Discussion This function does not infer element moves. If you need to infer moves, call the inferringMoves() method on the resulting difference. note: Worst case performance is O(n * m), where n is the count of this collection and m is other.count. You can expect faster execution when the collections share many common elements, or if Element conforms to Hashable.
