# find(A)

find(A)

Return a vector of the linear indexes of the non-zeros in `A` (determined by `A[i]!=0`). A common use of this is to convert a boolean array to an array of indexes of the `true` elements.

## Examples

``````# Find the linear indexes of elements satisfying a condition

# Example 1: Find the indexes of even numbers in an array
julia> arr = [1, 2, 3, 4, 5, 6];
julia> find(iseven, arr)
3-element Array{Int64,1}:
2
4
6

# Example 2: Find the indexes of negative numbers in a matrix
julia> mat = [1 -2 3; -4 5 -6; 7 -8 9];
julia> find(x -> x < 0, mat)
3-element Array{CartesianIndex{2},1}:
CartesianIndex(2, 1)
CartesianIndex(3, 2)
CartesianIndex(2, 3)

# Example 3: Find the indexes of strings containing a specific character in a vector of strings
julia> words = ["apple", "banana", "orange", "grape"];
julia> find(contains("a"), words)
2-element Array{Int64,1}:
1
2

# Example 4: Find the indexes of true values in a boolean array
julia> bools = [true, false, true, true, false];
julia> find(identity, bools)
3-element Array{Int64,1}:
1
3
4``````

The `find` function returns a vector of linear indexes where the supplied function `f` returns `true` for elements in the collection `A`. The index positions are returned as either `Int` or `CartesianIndex` objects, depending on the dimensionality of the collection.

Common mistake example:

``````julia> arr = [1, 2, 3, 4, 5];
julia> find(x -> x > 5, arr)
Int64[]``````

In this example, the condition `x > 5` does not return `true` for any element in the array `arr`, resulting in an empty array as the output. It's important to ensure that the condition provided to `find` evaluates to `true` for at least one element in the collection to get non-empty results.