Added functions for iterating and retrieving elements
This commit is contained in:
parent
69a43cc613
commit
ba924ce978
|
@ -3,11 +3,86 @@ package com.baeldung.collections
|
||||||
import kotlin.collections.List
|
import kotlin.collections.List
|
||||||
|
|
||||||
class ListExample {
|
class ListExample {
|
||||||
|
|
||||||
|
private val countries = listOf("Germany", "India", "Japan", "Brazil", "Australia")
|
||||||
|
private val cities = mutableListOf("Berlin", "Calcutta", "Seoul", "Sao Paulo", "Sydney")
|
||||||
|
|
||||||
fun createList(): List<String> {
|
fun createList(): List<String> {
|
||||||
return listOf("one", "two", "three")
|
val countryList = listOf("Germany", "India", "Japan", "Brazil")
|
||||||
|
return countryList
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createMutableList(): MutableList<String> {
|
fun createMutableList(): MutableList<String> {
|
||||||
return mutableListOf("Berlin", "Kolkata", "London")
|
val cityList = mutableListOf("Berlin", "Calcutta", "Seoul", "Sao Paulo")
|
||||||
|
return cityList
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun iterateUsingForLoop() {
|
||||||
|
countries.forEach { it -> print("$it ") }
|
||||||
|
println()
|
||||||
|
|
||||||
|
for (country in countries) {
|
||||||
|
print("$country ")
|
||||||
|
}
|
||||||
|
println()
|
||||||
|
|
||||||
|
for (i in 0 until countries.size) {
|
||||||
|
print("${countries[i]} ")
|
||||||
|
}
|
||||||
|
println()
|
||||||
|
|
||||||
|
countries.forEachIndexed { i, e ->
|
||||||
|
println("country[$i] = $e")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun iterateUsingListIterator() {
|
||||||
|
val iterator = countries.listIterator()
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
val country = iterator.next()
|
||||||
|
print("$country ")
|
||||||
|
}
|
||||||
|
println()
|
||||||
|
|
||||||
|
while (iterator.hasPrevious()) {
|
||||||
|
println("Index: ${iterator.previousIndex()}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun iterateUsingIterator() {
|
||||||
|
val iterator = cities.iterator()
|
||||||
|
iterator.next()
|
||||||
|
iterator.remove()
|
||||||
|
println(cities)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun iterateUsingMutableListIterator() {
|
||||||
|
val iterator = cities.listIterator(1)
|
||||||
|
iterator.next()
|
||||||
|
iterator.add("London")
|
||||||
|
iterator.next()
|
||||||
|
iterator.set("Milan")
|
||||||
|
println(cities)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun retrieveElementsInList(): String {
|
||||||
|
println(countries[2])
|
||||||
|
return countries[2]
|
||||||
|
}
|
||||||
|
|
||||||
|
fun retrieveElementsUsingGet(): String {
|
||||||
|
println(countries.get(3))
|
||||||
|
return countries.get(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun retrieveElementsFirstAndLast(): String? {
|
||||||
|
println(countries.first())
|
||||||
|
println(countries.last())
|
||||||
|
println(countries.first { it.length > 7 })
|
||||||
|
println(countries.last { it.startsWith("J") })
|
||||||
|
println(countries.firstOrNull { it.length > 8 })
|
||||||
|
return countries.firstOrNull { it.length > 8 }
|
||||||
|
}
|
||||||
|
|
||||||
|
//5. Retrieve parts of the list
|
||||||
}
|
}
|
|
@ -3,6 +3,7 @@ package com.baeldung.collections
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.Assertions.assertEquals
|
import org.junit.jupiter.api.Assertions.assertEquals
|
||||||
import org.junit.jupiter.api.Assertions.assertNotEquals
|
import org.junit.jupiter.api.Assertions.assertNotEquals
|
||||||
|
import kotlin.test.assertNull
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class ListExampleUnitTest {
|
class ListExampleUnitTest {
|
||||||
|
@ -11,8 +12,22 @@ class ListExampleUnitTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun whenListIsCreated_thenContainsElements() {
|
fun whenListIsCreated_thenContainsElements() {
|
||||||
assertTrue(classUnderTest.createList().contains("two"))
|
assertTrue(classUnderTest.createList().contains("India"))
|
||||||
assertTrue(classUnderTest.createMutableList().contains("Berlin"))
|
assertTrue(classUnderTest.createMutableList().contains("Seoul"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun whenRetrieveElementsInList_thenSuccess() {
|
||||||
|
assertEquals("Japan", classUnderTest.retrieveElementsInList())
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun whenRetrieveElementsUsingGet_thenSuccess() {
|
||||||
|
assertEquals("Brazil", classUnderTest.retrieveElementsUsingGet())
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun whenRetrieveElementsFirstAndLast_thenSuccess() {
|
||||||
|
assertEquals("Australia", classUnderTest.retrieveElementsFirstAndLast())
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue