How to remove duplicate strings from an array in Kotlin
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.
In programming, it's common to encounter scenarios where you have an array or list containing duplicate elements, and you need to ensure that all elements are unique. Kotlin, being a modern and expressive language, provides several ways to remove duplicate strings from an array. This article will delve into various methods to effectively remove duplicates, along with technical explanations and examples.
Methods to Remove Duplicate Strings from an Array in Kotlin
1. Using distinct()
Kotlin's List interface provides the distinct() function, which returns a new list containing only unique elements from the original list.
Explanation:
- Array to List Conversion: The
toList()function converts an array into a list. This is necessary becausedistinct()is available on lists, not arrays. - Distinct Elements: The
distinct()function internally uses a set to filter out duplicates, hence it depends on the elements'equals()andhashCode()methods.
2. Using a Set
A Set is a collection that inherently does not allow duplicate elements. We can convert an array to a set and then back to a list or array to achieve uniqueness.
Explanation:
- Conversion to Set: The
toSet()function converts the array to a set, automatically removing duplicates. - Re-conversion to List: Using
toList()aftertoSet()gives us a collection back that we can manipulate further in Kotlin.
3. Using a Loop with a Mutable Set
For more control, you might use a loop to manually traverse the array and insert elements into a MutableSet.
Explanation:
- MutableSet for Tracking: As we iterate through the array, we attempt to add each item to a
MutableSet. Since sets do not allow duplicate entries,add(item)will returntrueonly for unique items.
Key Considerations
- Performance: All methods leverage the
Setinterface, meaning they have an average time complexity of , where is the number of elements in the array. - Order Preservation: The order of elements is preserved in each of these methods. The first occurrence of each element is retained.
Comparison Table
| Method | Description | Order Preservation | Performance |
distinct() | Uses Kotlin's distinct function to filter duplicates. | Yes | |
Set Conversion | Converts array to set and back. | Yes | |
Loop with MutableSet | Uses a loop with a set to filter duplicates manually. | Yes |
Additional Details:
- Use Case Specifics: If thread safety is a concern, consider synchronizing access to your data structures or using concurrent collections.
- Null Values: These methods will correctly handle
nullvalues in the array.nullwill be considered as a valid unique element. - Data Types: While this article focuses on
Stringarrays, the same methods can be applied to any data type as long as they have properly implementedequals()andhashCode().
By leveraging Kotlin's robust collection framework, handling duplicates in arrays can be done efficiently and concisely, simplifying many data processing tasks.
Related reading
- How to remove elements from a binary heap?
- How to remove elements from a vector by order of priority
- How to remove item from array by value?
- How to remove item from list in C?
- How to remove empty cells in UITableView?
- How to remove extra empty cells in TableViewController, iOS - Swift
- How to remove items from a list while iterating?
- How to remove items from a list while iterating?

DSA Fundamentals
Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.