> For the complete documentation index, see [llms.txt](https://v-vishwanath.gitbook.io/kiraak/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v-vishwanath.gitbook.io/kiraak/fundamentals/collections.md).

# Collections

Jaise pehle discuss kiye the, [Collection](/kiraak/fundamentals/data-types.md#collection) ko ek dibbe ki tarah samajh sakte. Isko kuch iss tarah banate hai:

```
=> Ye ek empty collection banega
arr1 boletoh collection hai

=> Agar pehle se kuch chahiye collection me tab kuch aise likhneka
arr2 boletoh collection jisme 1, 2, 3 'Hello', 'Wassup' hai

```

### Adding items

Ab collection me extra elements kuch daalna hai toh `daal` keyword ka istemaal karne ka:

```
arr1 me 1 daal
arr2 me 'Hello', 3 daal

```

### Reading items

Ab collection jab ban gaya, usme se elements ko unke position se pata kar sakte:

```
arr2 ka 2 => 2
arr2 ka 5 => Wassup

```

### Updating items

Collection me agar kisi position ko update karne ka hai, yaani uss position me jo cheez hai usko badalne ka hai, toh vo kuch iss tarah se likhte:

```
arr2 ka 5 abse 'Changed' hai
arr2 ka 1 abse arr2 ka 5 hai

screen pe arr2 dikha => [Changed, 2, 3, Hello, Changed, Hello, 3]

```

### Deleting items

Collection se koi cheez ko 2 tareeke se delete karde sakte. Tumhe agar position pata hai, toh seedha position se hata do, nai toh item bata do collection kudh dhoond ke hata dega!

```
arr2 ka 3, 5 uda de => 3 aur Changed delete hojayenge
arr2 se Hello, 2 uda de => Ab saare "Hello" aur 2 delete hojayenge

=> Agar sab delete kar daalna hai toh aise karne ka
arr2 se sab uda de

```

{% hint style="info" %}
Idhar yeh baat ka khayaal rakhna hai ki position ke liye `ka` ka istemaal hota hai aur item ke liye `se`. Ab `arr ka 1 uda de` ka matlab position 1 me jo item hai use uda de, aur `arr se 1 uda de` ka matlab arr me jitte bhi 1 hai sab uda de!
{% endhint %}

Ab iske alawa tumhe thode utility operations bhi milte hai collections me:

{% code overflow="wrap" %}

```
arr ka size => Ye tumhe size de dega

arr khaali hai => Ye tumhe bata dega ki arr khaali hai ki nai
==>
Ab idhar ye dhyaan rakhna ki agar normal variable hogi, tab khaali ye batata hai ki memory location me kuch hai ki nai. Collection ke case me memory toh khaali nai hai, par collection me koi item nai hai.

Isko tum size ke saath bhi dekhle sakte. Agar arr ka size 0 hai toh iska matlab collection empty hai!
<==

arr me 10 hai => Ye sahi hoga agar 10 arr collection me hai, nai toh galat

```

{% endcode %}
