Texnoman

Assalomu alaykum! Siz Axborot texnologiyalari sohasining o'zbek tilidagi bloggerlar portaliga tashrif buyurdingiz! Loyihamizning asosiy maqsadi haqida bu yerda o'qishingiz mumkin.

Kirish A'zo bo'lish


Farzandlarimiz bizdan ko'ra kuchli, dono, bilimli va albatta baxtli bo'lishlari shart.

- Islom Karimov


24-dars - Javada Set

Set ham to'plam (collection) u ham o'zida takror(dublicate) bo'lmagan( takror(dublicate)dan faqat bittasini saqlaydi) ma'lumotlarni saqlaydi. Set interfeys(interface) bo'lib undan TreeSet, HashSet, LinkedHashSet, Abstract klasslari Set'dan implement oladi. Ular bilan tanishib chiqsak.

HashSet

HashSet ning iyerarxiyasi


HashSet Set'dan implement oladi. U o'zida null qiymatni saqlashga ruxsat beradi. Bu klass sinxron emas.

1. Hashset ma'lumotlarni tasodifiy tartibda qaytaradi

2. HashSet takror (dublicate) ma'lumotlarni o'zida saqlamaydi

3. HashSet null qiymatlarni ham saqlashi mumkin, lekin faqat bitta null qiymatni qaytaradi.

4. HashSet sinxron emas

HashSetga misol:

import java.util.HashSet;
 
public class HashSetExample { 
    public static void main(String args[]) { 
        // HashSet declaration 
        HashSet<String> hset =   new HashSet<String>();       // Adding elements to the HashSet      
        hset.add("Apple"); 
        hset.add("Mango"); 
        hset.add("Grapes"); 
        hset.add("Orange"); 
        hset.add("Fig");      //Addition of duplicate elements 
        hset.add("Apple"); 
        hset.add("Mango");      //Addition of null values 
        hset.add(null); 
        hset.add(null);       //Displaying HashSet elements 
        System.out.println(hset);   
    } 
}

Ekranda:

[null, Mango, Grapes, Apple, Orange, Fig]

Ko'rib turganingizdek ekranda bitta null qiymat va barcha takror elementlardan faqat bittasini o'zida saqlayapti.

HashSet'da ishlovchi ba'zi bir funksiyalar bilan tanishib chiqsak

Hamma elementlarni o'chirib tashlashga doir misol:

import java.util.HashSet;
 
class EmptyHashSetExample{ 
    public static void main(String[] args) {     // Create a HashSet 
        HashSet<String> hset = new HashSet<String>();      //add elements to HashSet 
        hset.add("Element1"); 
        hset.add("Element2"); 
        hset.add("Element3"); 
        hset.add("Element4"); 
        hset.add("Element5"); 
        System.out.println("Oldin: HashSet contains: "+ hset); 
        hset.clear();      // Display HashSet content again 
        System.out.println("Keyin: HashSet contains: "+ hset);  
    }
}

Ekranda:

Oldin: HashSet contains: [Element1, Element2, Element3, Element4, Element5]

Keyin: HashSet contains: []

HashSet ni massivga o'girish (convert) ga misol:

import java.util.HashSet;
 
class ConvertHashSettoArray{ 
    public static void main(String[] args) { 
        // Create a HashSet 
        HashSet<String> hset = new HashSet<String>();      //add elements to HashSet 
        hset.add("Element1"); 
        hset.add("Element2"); 
        hset.add("Element3"); 
        hset.add("Element4");      // Displaying HashSet elements 
        System.out.println("HashSet contains: "+ hset);      // Creating an Array 
        String[] array = new String[hset.size()];     hset.toArray(array);      // Displaying Array elements     
        System.out.println("Array elements: "); 
        for(String temp : array)
        {        
            System.out.println(temp);     
        }  
    }
}

Ekranda:

HashSet contains: [Element1, Element2, Element3, Element4]

Array elements:

Element1

Element2

Element3

Element4

Hashset'ni ArrayList'ga o'girish(convert) :

import java.util.HashSet;import java.util.List;import java.util.ArrayList;
 
class ConvertHashSetToArrayList{
    public static void main(String[] args) {     // Create a HashSet 
        HashSet<String> hset = new HashSet<String>();      //add elements to HashSet 
        hset.add("Steve"); 
        hset.add("Matt"); 
        hset.add("Govinda"); 
        hset.add("John"); 
        hset.add("Tommy");      // Displaying HashSet elements 
        System.out.println("HashSet contains: "+ hset);      // Creating a List of HashSet elements 
        List<String> list = new ArrayList<String>(hset);      // Displaying ArrayList elements     
        System.out.println("ArrayList contains: "+ list);  
    }
}

Ekranda

HashSet contains: [Tommy, Matt, Steve, Govinda, John]ArrayList

contains: [Tommy, Matt, Steve, Govinda, John]

TreeSet

TreeSet ham deyarli HashSetga o'xshab ketadi. Ba'zi bir hususiyatlari bilan ular bir biridan farq qiladi. Ya'ni TreeSet elemetlarni saralab qaytaradi HashSet esa saralamay, TreeSet null qiymatni saqlamaydi HashSet esa saqlaydi. TreeSet sinxron emas.

TreeSet<String> tset = new TreeSet<String>();//treeSet ni e'lon qilinish

TreeSet ga misol:

import java.util.TreeSet;
 
public class TreeSetExample { 
    public static void main(String args[]) {         // TreeSet of String Type 
        TreeSet<String> tset = new TreeSet<String>();          // Adding elements to TreeSet<String>        
        tset.add("ABC"); 
        tset.add("String"); 
        tset.add("Test"); 
        tset.add("Pen"); 
        tset.add("Ink"); 
        tset.add("Jack");          //Displaying TreeSet 
        System.out.println(tset);          // TreeSet of Integer Type 
        TreeSet<Integer> tset2 = new TreeSet<Integer>();          // Adding elements to TreeSet<Integer>         
        tset2.add(88); 
        tset2.add(7); 
        tset2.add(101); 
        tset2.add(0); 
        tset2.add(3); 
        tset2.add(222);
        System.out.println(tset2);    
    } 
}

Ekranda:

[ABC, Ink, Jack, Pen, String, Test]

[0, 3, 7, 88, 101, 222]

Hashset va TreeSet orasidagi ba'zi bir faqlar

Hashset va TreeSet orasidagi ba'zi bir faqlar

1. Hashset da remove, add contains, size lar TreeSet ga nisbatan ancha tezroq bajariladi. Hashset da bu jarayonlarni bajarilishi vaqti hashsetni bajarilish vaqtiga teng Treeset da esa vaqt log(n) ga teng.

2. HashSet elementlarni tartib bilan saqlamaydi Treeset esa elementarni saralab saqlaydi.

O'xshashliklari

1. HashSet ham Treeset ham takror ma'lumotlarni saqlamaydi

2. Agar siz Setni elementlarini saralashni xohlasangiz Hashsetni Treesetga convert qilishingiz kerak.

3. Ikkala klass ham sinxron emas

LinkedHashSet

Yuqoridagi ma'ruzalarimizda HashSet va TreeSet lar bilan tanishib o'tdik. LinkedHashSet ham Set'dan implement oladi va HashSet va TreeSet larga juda o'xshab ketadi.

1. HashSet elementlari kiritilish tartibi bilan saqlamaydi

2. TreeSort esa elementlari saralab saqlaydi

3. LinkedHashSet esa elementlarni kiritilish tartibi bilan saqlaydi

import java.util.LinkedHashSet;
 
public class LinkedHashSetExample { 
    public static void main(String args[]) { 
        // LinkedHashSet of String Type 
        LinkedHashSet<String> lhset = new LinkedHashSet<String>();          // Adding elements to the LinkedHashSet         
        lhset.add("Z"); 
        lhset.add("PQ"); 
        lhset.add("N"); 
        lhset.add("O"); 
        lhset.add("KK"); 
        lhset.add("FGH"); 
        System.out.println(lhset);          // LinkedHashSet of Integer Type 
        LinkedHashSet<Integer> lhset2 = new LinkedHashSet<Integer>();          // Adding elements        
        lhset2.add(99); 
        lhset2.add(7); 
        lhset2.add(0); 
        lhset2.add(67); 
        lhset2.add(89); 
        lhset2.add(66); 
        System.out.println(lhset2);    
    }
}

Ekaranda:

[Z, PQ, N, O, KK, FGH]

[99, 7, 0, 67, 89, 66]

Ko'rib turganingizdek elementlarni saqlash tartibida qaytaryapti(ekranga chiqaryapti).

Manba:


Gayratjon

Muallif haqida

Rayimjonov G'ayratjon


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!