diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt new file mode 100644 index 0000000000..0a48a42e13 --- /dev/null +++ b/core-kotlin/src/main/kotlin/com/baeldung/kotlin/ListUtil.kt @@ -0,0 +1,9 @@ +@file:JvmName("Lists") +package com.baeldung.kotlin + +fun MutableList.swap(firstIndex: Int, secondIndex: Int): MutableList { + val tmp = this[firstIndex] + this[firstIndex] = this[secondIndex] + this[secondIndex] = tmp + return this +} diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java b/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java new file mode 100644 index 0000000000..4184cc0878 --- /dev/null +++ b/core-kotlin/src/test/java/com/baeldung/kotlin/ListUtilTest.java @@ -0,0 +1,22 @@ +package com.baeldung.kotlin; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Arrays; +import java.util.List; + +import static com.baeldung.kotlin.Lists.*; + +public class ListUtilTest { + + @Test + public void shouldSwapTwoElementsInList() { + List list = Arrays.asList(0, 1, 2); + + List swappedElements = swap(list, 1, 2); + + Assert.assertEquals(swappedElements, Arrays.asList(0, 2, 1)); + } + +}