Sobes.tech
Junior

Tajribangizda biladigan yoki ishlatgan yordamchi funksiyalar nima?

sobes.tech AI

AIdan javob

  • Lambda ifodalar: Kichik funksiyalar uchun kodni qisqartiradi, masalan, bosish yoki callbacklar.

  • Kengaytirish funksiyalari (Kotlin): Mavjud sinflarga yangi funksiyalar qo'shadi, meros olmadan, o'qish va qulaylikni oshiradi.

    fun String.isPalindrome(): Boolean {
        // String palindrom ekanligini tekshiradi
        return this == this.reversed()
    }
    
  • Inline funksiyalar (Kotlin): Funksiya tanasini chaqirish joyiga joylashtiradi, bu lambda bilan ishlashda xotira vaqti xarajatlarini kamaytiradi.

    inline fun measureExecutionTime(block: () -> Unit) {
        // Kod blokining bajarilish vaqtini o'lchaydi
        val startTime = System.currentTimeMillis()
        block()
        val endTime = System.currentTimeMillis()
        println("Bajarilish vaqti: ${endTime - startTime} ms")
    }
    
  • Ma'lumotlar sinflari (Kotlin): equals(), hashCode(), toString(), copy() funksiyalarini avtomatik yaratadi, ma'lumotlarni saqlash uchun qulay.

    data class User(val name: String, val age: Int)
    
  • Yopiq sinflar (Kotlin): Sinf hierarhiyasini cheklaydi, holat yoki voqealarni modellashtirish uchun foydalidir, ayniqsa when bilan.

  • Generics: Turli ma'lumot turlari bilan ishlovchi qayta foydalaniladigan komponentlar yaratishga imkon beradi.

    public class Box<T> {
        // Har qanday ma'lumot turini saqlash uchun umumiy sinf
        private T data;
    
        public void setData(T data) {
            this.data = data;
        }
    
        public T getData() {
            return data;
        }
    }
    
  • Kolleksiyalar bilan operatsiyalar (map, filter, reduce va boshqalar): Ma'lumotlar kolleksiyalarini qayta ishlash uchun funksional metodlar.

    val numbers = listOf(1, 2, 3, 4, 5)
    val squaredEvenNumbers = numbers
        .filter { it % 2 == 0 } // Juftlarni filtrlash
        .map { it * it }      // Kvadratga oshirish
    
  • Resurslarni olish (Kotlin): Stringlar, ranglar, o'lchamlar va boshqalarni resurslardan olish uchun.

    val appName = context.getString(R.string.app_name)
    val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary)
    
  • Null turlari va xavfsiz chaqiruvlar (Kotlin): NullPointerException sonini kamaytiradi.

    val name: String? = null
    val length = name?.length ?: 0 // Xavfsiz chaqiruv va Elvis operatori