У Јави НавигаблеСет је подтип СортедСет интерфејс. Омогућава нам да изводимо различите операције као што је добијање најближих подударања за дати елемент опадајуће итерације и друге. Пружа методе за навигацију кроз елементе у скупу.
На пример Интерфејс НавигаблеСет нам омогућава да се крећемо кроз скуп у растућем и опадајућем редоследу за разлику од СортедСет-а који подржава само растући редослед. Класе које имплементирају интерфејс НавигаблеСет су ТрееСет и ЦонцуррентСкипЛистСет
- НавигаблеСет проширује СортедСет и тако обезбеђује методе као што су фирст() ласт() хеадСет() таилСет() итд.
- Омогућава вам да се крећете у оба смера узлазним и опадајућим редоследом
- Најчешћа имплементација НавигаблеСет-а је ТрееСет.
Пример: Овај пример показује креирање НавигаблеСет-а користећи ТрееСет и додавање елемената у њега који их аутоматски сортира у растућем редоследу.
Java
// Java program to demonstrates // the working of NavigableSet import java.util.*; public class Geeks { public static void main(String[] args) { NavigableSet<Integer> ns = new TreeSet<>(); // Add elements to the set ns.add(10); ns.add(20); ns.add(30); ns.add(40); ns.add(50); System.out.println('Navigable Set: ' + ns); } }
Излаз
Navigable Set: [10 20 30 40 50]
Дијаграм испод показује структуру наслеђивања у Јавином оквиру за прикупљање који се односи на скупове.
ТрееСет је класа која имплементира НавигаблеСет што заузврат проширује СортедСет који се проширује Сет .
Декларација НавигаблеСет-а
У Јави декларација НавигаблеСет-а може се декларисати као:
јава кодирање иф елсе изјава
НавигаблеСет
сетНаме;
Напомена: ' Тип' је тип елемента у скупу (нпр. целобројни стринг итд.), а сетНаме је име променљиве.
Креирање НавигаблеСет објеката
Не можемо директно креирати НавигаблеСет јер је то интерфејс. Уместо тога користимо класу лике ТрееСет који га спроводи. Уз помоћ генерика можемо дефинисати тип објеката који ће скуп чувати. Овај тип безбедан скуп се може дефинисати као:
НавигаблеСет
сет = нови ТрееСет ();
Пример: Овај пример показује како се користе различите методе НавигаблеСет-а као што су десцедингСет() таилСет() ловер() поллФирст() и поллЛаст() за манипулацију и навигацију сортираним скупом у нормалном и обрнутом редоследу.
сунчани деол агеJava
// Java Program to demostrates the // working of various methods of NavigableSet import java.util.NavigableSet; import java.util.TreeSet; public class Geeks { public static void main(String[] args) { NavigableSet<Integer> ns = new TreeSet<>(); ns.add(0); ns.add(1); ns.add(2); ns.add(3); ns.add(4); ns.add(5); ns.add(6); // Get a reverse view of the navigable set NavigableSet<Integer> revNs = ns.descendingSet(); // Print the normal and reverse views System.out.println('Normal order: ' + ns); System.out.println('Reverse order: ' + revNs); NavigableSet<Integer> t = ns.tailSet(3 true); System.out.println('3 or more: ' + t); System.out.println('lower(3): ' + ns.lower(3)); System.out.println('floor(3): ' + ns.floor(3)); System.out.println('higher(3): ' + ns.higher(3)); System.out.println('ceiling(3): ' + ns.ceiling(3)); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollLast(): ' + ns.pollLast()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('Navigable Set: ' + ns); System.out.println('pollFirst(): ' + ns.pollFirst()); System.out.println('pollLast(): ' + ns.pollLast()); } }
Излаз:
Извођење различитих операција на НавигаблеСет-у
1. Додавање елемената: Можемо користити адд() метод за уметање елемената у НавигаблеСет. Елементи се чувају у сортираном редоследу, дупликати нису дозвољени, а нулте вредности такође не прихвата НавигаблеСет.
Пример: Овај пример демонстрира додавање елемената у НавигаблеСет коришћењем адд() где се дупликати занемарују и елементи се сортирају у растућем редоследу.
Java// Java Program to demonstrates the working of add() import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('A'); System.out.println('NavigableSet: ' + ts); } }
Излаз
NavigableSet: [A B C]
линук команда за зип
2. Приступ елементима: Након додавања елемената, ако желимо да приступимо елементима, можемо користити уграђене методе као што су садржи() први() ласт() итд.
Пример: Овај пример показује додавање елемената НавигаблеСет-у који проверава постојање елемента и преузима први и последњи елемент.
Java// Java program to demonstrates the // working of contains() first() and last() method import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('A'); System.out.println('NavigableSet: ' + ts); String s = 'D'; // Check if the above string exists in // the NavigableSet or not System.out.println('D exists in the NavigableSet?: ' + ts.contains(s)); // Print the first element in // the NavigableSet System.out.println('First Element of NavigableSet: ' + ts.first()); // Print the last element in // the NavigableSet System.out.println('Last Element of NavigableSet: ' + ts.last()); } }
Излаз
NavigableSet: [A B C] D exists in the NavigableSet?: false First Element of NavigableSet: A Last Element of NavigableSet: C
3. Уклањање елемената: Вредности се могу уклонити из НавигаблеСет-а помоћу уклони() анкетаФирст() анкетаЛаст() .
Пример: Овај пример показује уклањање елемената из НавигаблеСет-а.
Java// Java Program to demonstrates the working of remove() // pollFirst() and pollLast() method import java.io.*; import java.util.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('A'); ts.add('B'); ts.add('C'); ts.add('B'); ts.add('D'); ts.add('E'); System.out.println('NavigableSet: ' + ts); // Removing the element b ts.remove('B'); System.out.println('After removing element ' + ts); // Remove the First element of TreeSet ts.pollFirst(); System.out.println( 'After the removal of First Element ' + ts); // Remove the Last element of TreeSet ts.pollLast(); System.out.println( 'After the removal of Last Element ' + ts); } }
Излаз
NavigableSet: [A B C D E] After removing element [A C D E] After the removal of First Element [C D E] After the removal of Last Element [C D]
4. Понављајући елементи: Постоје различити начини за понављање кроз НавигаблеСет. Најпознатија је употреба побољшана фор петља.
Пример: Овај пример показује додавање елемената у НавигаблеСет и понављање кроз њега у растућем редоследу.
Java// Java Program to iterate through NavigableSet import java.util.*; import java.io.*; class Geeks { public static void main(String[] args) { NavigableSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add('C'); ts.add('D'); ts.add('E'); ts.add('A'); ts.add('B'); ts.add('Z'); // Iterating though the NavigableSet for (String i : ts) System.out.print(i + ' '); } }
Излаз
A B C D E Z
Методе
Следе методе присутне у интерфејсу НавигаблеСет.
Методе буббле сорт | Опис |
|---|---|
| плафон (Е е) | Враћа најмањи елемент у овом скупу који је већи или једнак датом елементу или нулл ако такав елемент не постоји. |
| десцендингИтератор() | Враћа итератор над елементима у овом скупу у опадајућем редоследу. |
| десцендингСет() | Враћа приказ обрнутим редоследом елемената садржаних у овом скупу. |
| спрат (Е е) | Враћа највећи елемент у овом скупу мањи од или једнак датом елементу или нулл ако не постоји такав елемент. |
| слушалице (Е тоЕлемент) | Враћа приказ дела овог скупа чији су елементи стриктно мањи од тоЕлемента. |
| слушалица (укључиво од Е доЕлемента) | Враћа приказ дела овог скупа чији су елементи мањи од (или једнаки ако је инклузивно тачно) тоЕлемент. |
| виши (Е е) | Враћа најмањи елемент у овом скупу стриктно већи од датог елемента или нулл ако такав елемент не постоји. |
| итератор() | Враћа итератор над елементима у овом скупу у растућем редоследу. |
| ниже (Е е) | Враћа највећи елемент у овом скупу стриктно мањи од датог елемента или нулл ако такав елемент не постоји. |
| анкетаФирст() | Преузима и уклања први (најнижи) елемент или враћа нулл ако је овај скуп празан. |
| анкетаЛаст() | Преузима и уклања последњи (највиши) елемент или враћа нулл ако је овај скуп празан. |
подскуп(Е из елемента боолеан од Инцлусиве Е до Елемента боолеан до Инцлусиве) | Враћа приказ дела овог скупа чији се елементи крећу од одЕлемента до тоЕлемента. |
| подскуп (Е одЕлемента Е доЕлемента) | Враћа приказ дела овог скупа чији се елементи крећу од укључивог елемента до искључивог елемента. |
| таилСет(Е фромЕлемент) | Враћа приказ дела овог скупа чији су елементи већи или једнаки фромЕлемент. |
| таилСет(Е фромЕлемент боолеан инцлусиве) | Враћа приказ дела овог скупа чији су елементи већи од (или једнаки ако је инклузивно тачно) фромЕлемент. |
Методе наслеђене од интерфејса јава.утил.СортедСет
Метод | Опис |
|---|---|
| компаратор() | Овај метод враћа компаратор који се користи за редослед елемената у овом скупу или нулл ако овај скуп користи природни редослед својих елемената. |
| први() | Овај метод враћа први (најнижи) елемент присутан у овом скупу. |
| ласт() | Овај метод враћа последњи (највиши) елемент присутан у скупу. |
| сплитератор() | Прави Сплитератор над елементима у овом сортираном скупу. |
Методе наслеђене од интерфејса јава.утил.Сет
Метод | Опис |
|---|---|
| додати (елемент) | Овај метод се користи за додавање одређеног елемента у скуп. Функција додаје елемент само ако наведени елемент већ није присутан у скупу, иначе функција враћа Фалсе ако је елемент већ присутан у скупу. |
| аддАлл (колекција) | Овај метод се користи за додавање свих елемената из поменуте колекције у постојећи скуп. Елементи се додају насумично без праћења неког одређеног редоследа. |
| цлеар() | Овај метод се користи за уклањање свих елемената из скупа, али не и за брисање скупа. Референца за скуп и даље постоји. |
| садржи (елемент) | Овај метод се користи за проверу да ли је одређени елемент присутан у скупу или не. |
| садржиСве (колекција) | Овај метод се користи за проверу да ли скуп садржи све елементе присутне у датој колекцији или не. Овај метод враћа тачно ако скуп садржи све елементе и враћа нетачно ако неки од елемената недостаје. аналогна комуникација |
| једнако() | Упоређује наведени објекат са овим скупом ради једнакости. |
| хасхЦоде() | Овај метод се користи за добијање вредности хасхЦоде за ову инстанцу скупа. Враћа целобројну вредност која је вредност хасхЦоде за ову инстанцу скупа. |
| исЕмпти() | Овај метод се користи за проверу да ли је НавигаблеСет празан или не. |
| уклонити (елемент) | Овај метод се користи за уклањање датог елемента из скупа. Овај метод враћа Тачно ако је наведени елемент присутан у скупу, иначе враћа Нетачно. |
| уклони све (колекција) | Овај метод се користи за уклањање свих елемената из колекције који су присутни у скупу. Овај метод враћа труе ако се овај скуп променио као резултат позива. |
| задржати све (колекција) | Овај метод се користи за задржавање свих елемената из скупа који се помињу у датој колекцији. Овај метод враћа труе ако се овај скуп променио као резултат позива. |
| величина() | Овај метод се користи за добијање величине сета. Ово враћа целобројну вредност која означава број елемената. |
| тоАрраи() | Овај метод се користи за формирање низа истих елемената као и скуп. |
| тоАрраи(Т[] а) | Враћа низ који садржи све елементе у овом скупу; тип времена извршавања враћеног низа је онај из наведеног низа. |
Методе декларисане у интерфејсу јава.утил.Цоллецтион
| Метод | Опис |
|---|---|
| параллелСтреам() | Враћа могући паралелни ток са овом колекцијом као извором. |
| ремовеИф(предикат super E>филтер) | Уклања све елементе ове колекције који задовољавају дати предикат. |
| стреам() | Враћа секвенцијални стрим са овом колекцијом као извором. |
| тоАрраи? (ИнтФунцтион | Враћа низ који садржи све елементе у овој колекцији користећи обезбеђену функцију генератора да додели враћени низ. |
Методе декларисане у интерфејсу јава.ланг.Итерабле
| Метод | Опис |
|---|---|
| форЕацх (Потрошач super T>акција) | Изводи дату акцију за сваки елемент Итерабле-а све док се сви елементи не обрађују или док акција не изазове изузетак. |