Delegate void Message


Daraxt va Xesh to’plamlari


Download 184.94 Kb.
bet10/11
Sana16.06.2023
Hajmi184.94 Kb.
#1516542
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
Amaliyot ishi Dasturlash texnologiyalari

Daraxt va Xesh to’plamlari.
Set interfeysi Collection interfeysini kengaytiradi va noyob elementlar to'plamini ifodalaydi. Set yangi usullarni qo'shmaydi, faqat meros qilib olinganlarni o'zgartiradi. Xususan, add() usuli to'plamga element qo'shadi va agar to'plamda bunday element bo'lmasa, true qiymatini qaytaradi.
Umumlashgan HashSet klassi xesh jadvalini ifodalaydi. U o'z funksionalligini AbstractSet sinfidan voris qilib oladi va Set interfeysini ham amalga oshiradi.
Xesh-jadval barcha ob'ektlar noyob kalit yoki xesh-kodga ega bo'lgan ma'lumotlar strukturasidir. Ushbu kalit jadvaldagi ob'ektni yagona aniqlash imkonini beradi.
HashSet obyektini yaratish uchun siz quyidagi konstruktorlardan birini ishlatishingiz mumkin:

  1. HashSet(): bo'sh ro'yxat yaratadi

  2. HashSet(Collection col): Xesh-jadval yaratadi, unga to'plamning barcha elementlarini qo'shadi

  3. HashSet(int capacity): Imkoniyatlar parametri jadvalning boshlang'ich sig'imini belgilaydi, u sukut bo'yicha 16 ga teng

  4. HashSet(int capacity, float koef): 0,0 dan 1,0 gacha bo'lishi kerak bo'lgan koef yoki to'ldirish omili parametri kengayishdan oldin sig'im qancha ob'ektlar bilan to'ldirilishi kerakligini belgilaydi. Masalan, 0,75 koeffitsienti idishning 3/4 qismi to'lganida u kengayishini ko'rsatadi.

HashSet klassi yangi usullarni qo'shmaydi, faqat asosiy sinflarda va qo'llaniladigan interfeyslarda e'lon qilinganlarni amalga oshiradi:
import java.util.HashSet;
public class Program{
public static void main(String[] args) {
HashSet states = new HashSet();
states.add("Germany");
states.add("France");
states.add("Italy");
boolean isAdded = states.add("Germany");
System.out.println(isAdded); // false
System.out.printf("Set contains %d elements \n", states.size()); // 3
for(String state : states){
System.out.println(state);
}
states.remove("Germany");
HashSet
people = new HashSet
();
people.add(new Person("Mike"));
people.add(new Person("Tom"));
people.add(new Person("Nick"));
for(Person p : people){
System.out.println(p.getName());
}
}
}
class Person{
private String name;
public Person(String value){
name=value;
}
String getName(){return name;}
}
TreeSet umumiy klassi daraxt ko'rinishidagi ma'lumotlar strukturasini ifodalaydi, unda barcha ob'ektlar o'sish bo'yicha tartiblangan shaklda saqlanadi. TreeSet AbstractSet sinfidan meros bo'lib, NavigableSet interfeysini va shuning uchun SortedSet interfeysini amalga oshiradi.
TreeSet sinfida quyidagi konstruktorlar aniqlanadi:
TreeSet(): bo'sh daraxt yaratadi
TreeSet(Collection col): to'plamning barcha elementlarini qo'shish uchun daraxt yaratadi
TreeSet(SortedSet set): saralangan to'plamning barcha elementlari qo'shiladigan daraxt yaratadi
TreeSet(Comparator comparator): Bo'sh daraxt yaratadi, unda barcha qo'shilgan elementlar keyinchalik taqqoslash tomonidan tartiblanadi.
TreeSet elementlarni kiritish va olib tashlashning barcha standart usullarini qo'llab-quvvatlaydi:
import java.util.TreeSet;
public class Program{
public static void main(String[] args) {
TreeSet states = new TreeSet();
states.add("Germany");
states.add("France");
states.add("Italy");
states.add("Great Britain");
System.out.printf("TreeSet contains %d elements \n", states.size());
states.remove("Germany");
for(String state : states){
System.out.println(state);
}
}
}
Ob'ektlar kiritilgandan so'ng darhol o'sish tartibida tartiblanganligi sababli, biz for tsiklida chiqqanimizda, biz tartiblangan to'plamni olamiz:

TreeSet NavigableSet interfeysini va u orqali SortedSetni amalga oshirganligi sababli, biz daraxt tuzilishiga turli metodlarini qo'llashimiz mumkin:
import java.util.*;
public class Program{
public static void main(String[] args) {
TreeSet states = new TreeSet();
states.add("Germany");
states.add("France");
states.add("Italy");
states.add("Spain");
states.add("Great Britain");
System.out.println(states.first());
System.out.println(states.last());
SortedSet set = states.subSet("Germany", "Italy");
System.out.println(set);
String greater = states.higher("Germany");
String lower = states.lower("Germany");
NavigableSet navSet = states.descendingSet();
SortedSet setLower=states.headSet("Germany");
SortedSet setGreater=states.tailSet("Germany");
System.out.println(navSet);
System.out.println(setLower);
System.out.println(setGreater); } }

Download 184.94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling