ImplementingArrays

Run Settings
LanguageKotlin
Language Version
Run Command
public class MyDynamicArray(var length: Int = 0, var capacity : Int = 1, var data: Array<String?> = arrayOfNulls(1)) { // gets element at the given index fun get(index: Int) : String? { return if(index >= 0 && index < length) data[index] else "IndexOutOfBounds" } // this method adds an element to the end of array fun push(element: String) { capacity++ val tempArray = arrayOfNulls<String>(capacity) for(i in data.indices) { tempArray[i] = data[i] } data = tempArray data[length] = element length++ } // replaces value at given index fun replace(index: Int, element: String) { if(index >= 0 && index < length) { data[index] = element } else { println("IndexOutOfBounds") } } // removes last item on array fun pop() { if(length > 0) { length-- } else { println("Array size cannot be lower than 0!") } } // deletes element at the given index fun delete(index: Int) { if(index >= 0 && index < length) { if(index == length - 1) { pop() } else { for(i in index until length) { data[i] = data[i + 1] } length-- } } else { println("IndexOutOfBounds") } } // gets the array fun getArray() : Array<String?> { val tempArray = arrayOfNulls<String>(length) for(i in 0 until length) { tempArray[i] = data[i] } return tempArray } } fun main(args : Array<String>){ val myArray = MyDynamicArray() myArray.push("Cansu") myArray.push("Yeksan") myArray.push("Aktas") myArray.replace(2, "Akt") println(myArray.get(2)) myArray.delete(2) println(myArray.get(1)) println(myArray.getArray().contentToString()) }
Editor Settings
Theme
Key bindings
Full width
Lines