# ItemSnapshotList

Artifact: [androidx.paging:paging-common](https://developer.android.com/jetpack/androidx/releases/paging) [View Source](https://cs.android.com/search?q=file:androidx/paging/ItemSnapshotList.kt+class:androidx.paging.ItemSnapshotList) Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOSJavaScript
- Cmn

  ```
  class ItemSnapshotList<T : Any?> : AbstractList<T?>
  ```

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [kotlin.collections.AbstractCollection](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/index.html) |||
|   | ↳ | [kotlin.collections.AbstractList](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/index.html)\<T?\> ||
|   |   | ↳ | [androidx.paging.ItemSnapshotList](https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList) |

*** ** * ** ***

Snapshot of data being presented by a androidx.pagingAsyncPagingDataDiffer or a androidx.paging.PagingDataAdapter.

## Summary

| ### Public constructors |
|---|---|
| `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#ItemSnapshotList(kotlin.Int,kotlin.Int,kotlin.collections.List)( placeholdersBefore: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, placeholdersAfter: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, items: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T> )` | Cmn |

| ### Public functions |
|---|---|---|
| `open operator T?` | `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Returns the item at `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)`, where `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)` includes the position of placeholders. | Cmn |

| ### Public properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T>` | `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#items()` The presented data, excluding placeholders. | Cmn |
| `@https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#placeholdersAfter()` Number of placeholders after the presented `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#(kotlin.Int,kotlin.Int,kotlin.collections.List)`, 0 if `https://developer.android.com/reference/kotlin/androidx/paging/PagingConfig#enablePlaceholders()` is `false`. | Cmn |
| `@https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#placeholdersBefore()` Number of placeholders before the presented `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#(kotlin.Int,kotlin.Int,kotlin.collections.List)`, 0 if `https://developer.android.com/reference/kotlin/androidx/paging/PagingConfig#enablePlaceholders()` is `false`. | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#size()` Size of `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList` including placeholders. | Cmn |

### Inherited functions

From [kotlin.collections.AbstractCollection](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/index.html) `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/contains.html(element: T?)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/contains-all.html(elements: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<T?>)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/is-empty.html()` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/to-array.html()` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<T>` `<T : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/to-array.html(array: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<T>)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-collection/to-string.html()` Cmn From [kotlin.collections.AbstractList](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/index.html) `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/equals.html(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/hash-code.html()` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/index-of.html(element: T?)` Cmn `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-iterator/index.html<T?>` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/iterator.html()` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/last-index-of.html(element: T?)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list-iterator/index.html<T?>` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/list-iterator.html()` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list-iterator/index.html<T?>` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/list-iterator.html(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Cmn `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<T?>` `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-abstract-list/sub-list.html(fromIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, toIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Cmn

## Public constructors

### ItemSnapshotList

Cmn

```
<T : Any?> ItemSnapshotList(
    placeholdersBefore: @IntRange(from = 0) Int,
    placeholdersAfter: @IntRange(from = 0) Int,
    items: List<T>
)
```

## Public functions

### get

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
open operator fun get(index: Int): T?
```

Returns the item at `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)`, where `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)` includes the position of placeholders. If `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)` points to the position of a placeholder, `null` is returned.

To get the size using an index excluding placeholders, use `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/size.html` on `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#items()` directly.

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-index-out-of-bounds-exception/index.html` | if `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)`\< 0 or `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#get(kotlin.Int)`\>`https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#size()`. |

## Public properties

### items

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val items: List<T>
```

The presented data, excluding placeholders.

### placeholdersAfter

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val placeholdersAfter: @IntRange(from = 0) Int
```

Number of placeholders after the presented `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#(kotlin.Int,kotlin.Int,kotlin.collections.List)`, 0 if `https://developer.android.com/reference/kotlin/androidx/paging/PagingConfig#enablePlaceholders()` is `false`.

### placeholdersBefore

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
val placeholdersBefore: @IntRange(from = 0) Int
```

Number of placeholders before the presented `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#(kotlin.Int,kotlin.Int,kotlin.collections.List)`, 0 if `https://developer.android.com/reference/kotlin/androidx/paging/PagingConfig#enablePlaceholders()` is `false`.

### size

Cmn Added in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

```
open val size: Int
```

Size of `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList` including placeholders.

To get the size excluding placeholders, use `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/size.html` on `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#items()` directly.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/paging/ItemSnapshotList#items()` |   |