Monday, January 29, 2018

android kotlin - List and ArrayList example

MainActivity.kt

package com.cfsuman.kotlinexamples

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // list example
        button.setOnClickListener {
            // Initialize a new list
            // Immutable list, read only
            var list = listOf(1,2,3,4,5)

            // Initialize a list which hold various data type elements
            var anyList = listOf(1,1.5F,2.0,"Pink")


            // Initialize an integer data type list
            var intList = listOf<Int>(1,2,3,4,5)

            // Initialize an string data type list
            var stringList = listOf<String>("Rose","Pink","Red","Orange")

            // Initialize an float data type list
            var floatList = listOf<Float>(1.0F,2.5F,3.3F)

            // Initialize an double data type list
            var doubleList = listOf<Double>(1.1,1.6,2.9,3.5)

            // Display list element in text view
            text_view.text = "Immutable List elements : "
            // Loop through the list elements
            for(element in list){
                text_view.text = text_view.text.toString() + element + ", "
            }

            // Initialize a new mutable list
            // Read and write both allowed
            var mutableList = mutableListOf<Int>(10,20,30)

            // Display the mutable list element
            text_view.text = text_view.text.toString() +"\n\nMutable list elements : $mutableList"

            // Add an element to list
            mutableList.add(40)

            // Display the mutable list element
            text_view.text = text_view.text.toString() +"\n\nMutable list elements after add : $mutableList"
        }


        // array list example
        button2.setOnClickListener {
            // Initialize an integer array list using arrayListOf() method
            var intArrayList = arrayListOf<Int>()
            intArrayList.add(100)


            // Initialize a string array list using arrayListOf() method
            var stringArrayList = arrayListOf<String>()
            stringArrayList.add("Yellow")


            // Initialize a new integer data type array list
            // Mutable list, read and write
            var arrayList = ArrayList<Int>()

            // Add elements to the list
            arrayList.add(5)
            arrayList.add(15)
            arrayList.add(25)
            arrayList.add(35)

            // Add element to the list at the specified index position
            arrayList.add(0,10)

            // Now list elements
            text_view.text = "ArrayList elements : $arrayList"

            // Remove list element by index
            arrayList.removeAt(1)

            // Remove list element by value
            arrayList.remove(35)


            // Now list elements
            text_view.text = text_view.text.toString() + "\n\nArrayList elements, after remove : $arrayList"
        }
    }
}
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    >
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="List Example"
        />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ArrayList Example"
        />
    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="22sp"
        android:layout_marginTop="25dp"
        android:padding="15dp"
        android:textColor="#224acc"
        android:textStyle="bold"
        />
</LinearLayout>