@Serializable(with = NotEmptyListSerializer::class)
@Since(version = KotoolsTypesVersion.V4_0_0)
value class NotEmptyList<out E> : NotEmptyCollection<E>

Represents a list that has at least one element of type E.

You can use the notEmptyListOf or the toNotEmptyList functions for creating an instance of this type.

Serialization and deserialization

The serialization and deserialization processes of this type behave like for the List type.

Here's an example of Kotlin code that encodes and decodes this type using the JavaScript Object Notation (JSON) format from kotlinx.serialization:

val string: NotEmptyList<Int> = notEmptyListOf(1, 2, 3)
val encoded: String = Json.encodeToString(string)
println(encoded) // [1,2,3]
val decoded: NotEmptyList<Int> = Json.decodeFromString(encoded)
println(decoded == string) // true


Link copied to clipboard
object Companion

Contains static declarations for the NotEmptyList type.


Link copied to clipboard
open override val head: E

The first element of this collection.

Link copied to clipboard

The size of this collection.

Link copied to clipboard
@Since(version = KotoolsTypesVersion.V4_1_0)
val NotEmptyCollection<*>?.sizeOrZero: PositiveInt

Returns the size of this collection, or returns ZeroInt if this collection is null.

Link copied to clipboard
open override val tail: NotEmptyList<E>?

All elements of this collection except the first one.


Link copied to clipboard
fun toList(): List<E>

Returns all elements of this list as a List of type E.

Link copied to clipboard
open override fun toString(): String

Returns the string representation of this collection.