# Class Iterator

- [TopLevel.Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - [dw.util.Iterator](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Iterator.md)

The Iterator class allows you to access items in a collection.

## All Known Subclasses

[LoopIterator](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.web.LoopIterator.md), [SeekableIterator](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.SeekableIterator.md)

## Constructor Summary

This class does not have a constructor, so you cannot create it directly.

## Method Summary

| Method                                                                                                                                                                                                                                                                          | Description                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [asList](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Iterator.md#aslist)()                                                                                                                                                                                    | Convert the iterator into a list.                        |
| [asList](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Iterator.md#aslistnumber-number)([Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md), [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)) | Converts a sub-sequence within the iterator into a list. |
| [hasNext](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Iterator.md#hasnext)()                                                                                                                                                                                  | Indicates if there are more elements.                    |
| [next](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Iterator.md#next)()                                                                                                                                                                                        | Returns the next element from the Iterator.              |

### Methods inherited from class Object

[assign](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#assignobject-object), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject-object), [defineProperties](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertiesobject-object), [defineProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertyobject-object-object), [entries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#entriesobject), [freeze](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#freezeobject), [fromEntries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#hasownpropertystring), [is](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isobject-object), [isExtensible](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isextensibleobject), [isFrozen](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isfrozenobject), [isPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isprototypeofobject), [isSealed](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#issealedobject), [keys](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#keysobject), [preventExtensions](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#propertyisenumerablestring), [seal](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#sealobject), [setPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tolocalestring), [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tostring), [valueOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valueof), [values](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valuesobject)

## Method Details

### asList()

- asList(): [List](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.List.md)
  - : Convert the iterator into a list. After this conversion the
    iterator is empty and hasNext() will always return false.

    Note: This method should be used with care. For example a large database
    result is pulled into memory completely with this method and can cause
    an OutOfMemory situation.

    **Returns:**

    - the iterator as a list.

***

### asList(Number, Number)

- asList(start: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md), size: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)): [List](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.List.md)
  - : Converts a sub-sequence within the iterator into a list.

    Note: This method should be used with care. For example a large database
    result is pulled into memory completely with this method and can cause
    an OutOfMemory situation.

    **Parameters:**

    - start - the number of elements to iterate before adding elements to             the sublist. Negative values are treated as 0.
    - size - the maximum number of elements to add to the sublist.             Nonpositive values always result in empty list.

    **Returns:**

    - a sub-sequence within the iterator into a list.

***

### hasNext()

- hasNext(): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Indicates if there are more elements.

    **Returns:**

    - true if there are more elements,
      false otherwise.

***

### next()

- next(): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : Returns the next element from the Iterator.

    **Returns:**

    - the next element from the Iterator.

***
