15
कोटलिन में Array<String?>
से डुप्लिकेट को कैसे हटाएं?कोटलिन - सरणी से डुप्लिकेट स्ट्रिंग को हटाने के लिए बेवकूफ तरीका?
कोटलिन में Array<String?>
से डुप्लिकेट को कैसे हटाएं?कोटलिन - सरणी से डुप्लिकेट स्ट्रिंग को हटाने के लिए बेवकूफ तरीका?
उपयोग distinct
extension function:
val a = listOf("a", "b", "ab", "ba", "abc")
val b = a.distinctBy { it.length } // ["a", "ab", "abc"]
रूप @mfulton26 सुझाव दिया, आप भी toSet
, toMutableSet
उपयोग कर सकते हैं और, यदि:
val a = arrayOf("a", "a", "b", "c", "c")
val b = a.distinct() // ["a", "b", "c"]
वहाँ भी distinctBy
function एक कैसे आइटम भेद करने के लिए निर्दिष्ट कर सकते हैं कि आपको संरक्षित होने के मूल आदेश की आवश्यकता नहीं है, toHashSet
। ये फ़ंक्शन के बजाय Set
उत्पन्न करते हैं और distinct
से थोड़ा अधिक कुशल होना चाहिए।
आप उपयोगी मिल सकता है:
के बारे में 'nulls को छान distinct' नहीं पता था। क्या आप एक उदाहरण दिखा सकते हैं? – Ilya
@ इल्या, मेरा बुरा, यह 'विशिष्ट() 'नहीं था, लेकिन डीबगर जिसने अपने संग्रह दृश्य में' शून्य 'फ़िल्टर किया और इस प्रकार मुझे भ्रमित कर दिया। जवाब तय किया, धन्यवाद! – hotkey
आप 'toSet' या' toMutableSet' का भी उपयोग कर सकते हैं, जिसमें 'विशिष्ट' से कम ओवरहेड है और यदि ऑर्डरिंग कोई फर्क नहीं पड़ता है तो आप 'toHashSet' का उपयोग कर सकते हैं। – mfulton26