# ArrayKeys\[A: A, B: [Array](builtin-Array)\[A\] #read\]
<span class="source-link">[[Source]](src/builtin/array.md#L687)</span>
```pony
class ref ArrayKeys[A: A, B: Array[A] #read] is
  Iterator[USize val] ref
```

#### Implements

* [Iterator](builtin-Iterator)\[[USize](builtin-USize) val\] ref

---

## Constructors

### create
<span class="source-link">[[Source]](src/builtin/array.md#L691)</span>


```pony
new ref create(
  array: B)
: ArrayKeys[A, B] ref^
```
#### Parameters

*   array: B

#### Returns

* [ArrayKeys](builtin-ArrayKeys)\[A, B\] ref^

---

## Public Functions

### has_next
<span class="source-link">[[Source]](src/builtin/array.md#L695)</span>


```pony
fun box has_next()
: Bool val
```

#### Returns

* [Bool](builtin-Bool) val

---

### next
<span class="source-link">[[Source]](src/builtin/array.md#L698)</span>


```pony
fun ref next()
: USize val
```

#### Returns

* [USize](builtin-USize) val

---

