Java TreeSet

Java Treeset



TreeSet anses vara en av de mest grundläggande SortedSet-implementeringarna som använder ett träd som sin primära lagringstyp. I en TreeSet lagras varje värde i den sorterade sekvensen. Som standard behålls alla numeriska värden i stigande ordning och strängar hanteras i ordboksbaserad ordning. TreeSet bibehåller den stigande och ordboksbaserade ordningen oavsett om den jämförbara är specificerad eller inte. För att korrekt implementera Set-gränssnittet måste TreeSet vara konsekvent med jämförbar. Dessutom är nollvärden inte acceptabla i TreeSet.

Exempel 1

Metoden add() krävs för att lägga till elementen inuti TreeSet. Det angivna elementet kommer att läggas till med samma sorteringssekvens som när TreeSet skapades. Det kommer inte att lägga till dubbletter av poster.









I den föregående koden har vi infogat Javas verktygsklass för att komma åt klasserna och metoderna för Java. Därefter är metoden main() innesluten i definitionen av klassen 'CreatingTreeSet'. Vi har testat TreeSet-koden i main()-metoden. Vi har först skapat en variabel 'person' från klassen TreeSet och satt det tomma TreeSet-gränssnittet i den deklarerade variabeln 'persons'.



Observera att vi endast har lagt till strängelementen eftersom datatypen för TreeSet specificeras vid tidpunkten för att skapa dess gränssnitt. Vi har infogat fem strängelement i TreeSet, där varje strängelement är unikt. Sedan gick vi igenom varje element i TreeSet från iterator()-metoden, som kommer att skrivas ut i stigande ordning på utdataskärmen.





Elementen som skapas med hjälp av TreeSet-gränssnittet hämtas som utdata på följande utdatasnäpp:



Exempel 2

Efter att ha skapat TreeSet kan elementen nås med den inbyggda metoden som stöds av TreeSet. Metoden contains() kontrollerar det specifika elementet i TreeSet. First()-metoden hämtar TreeSets initiala element, medan last()-metoden hämtar TreeSets slutelement.

Efter att ha importerat verktygsklassen har vi definierat en klass 'AccessingTreeSet'. Därefter distribuerade vi metoden main() i den angivna Java-klassen för att komma åt TreeSet-elementen. Vi har deklarerat ett 'Colors'-objekt av typen NavigableSet med hänvisning till klassen TreeSet. TreeSet() är tom, vilket läggs till med strängvärdena genom att anropa add()-metoden. Här har vi lagt till tre strängvärden, namnet på de olika färgerna. Därefter kommer TreeSet-värdena att visas på skärmen via print statement. Därefter har vi skapat en variabel 'hitta' där strängen initieras för att kontrollera. För att kontrollera om strängen finns i de angivna träden, har vi anropat metoden contains() och lagt till variabeln 'find' som en parameter. Metoden Contains() verifierar förekomsten av det angivna strängelementet från TreeSet och genererar de booleska resultaten. Vidare har vi också fått det första och det sista elementet i TreeSet från metoden first() och last()-metoden. Båda metoderna genererar det specifika elementet placerat på den första och den sista positionen i det medföljande TreeSet.

Kontrollen av den specifika strängen från metoden contains() returnerar det sanna värdet, vilket visar att strängelementet är en del av metoden contains(). Därefter visas också TreeSets första värde och det sista värdet nedan:

Exempel 3

Det första och sista elementet har nåtts i föregående exempel. För att komma åt och eliminera de högsta och lägsta elementen används metoderna pollFirst() och pollLast(). Metoden pollFirst() används för att hämta och ta bort det lägsta elementet från det första. Metoden pollLast() används för att lokalisera och eliminera det högsta elementet från det sista i TreeSet.

Programmet är etablerat med Java-klassen 'LowerAndHigherValueFromTreeSet' där main()-metoden är konstruerad. Här har vi tillhandahållit TreeSet-gränssnittet från TreeSet-klassen genom att deklarera objektet 'IntegerSet'. Inledningsvis har vi skapat ett tomt TreeSet som kan läggas till med elementet genom att använda add()-metoden. Integer-objekten läses in i TreeSet med hjälp av add()-metoden.

Efter det gav vi en utskriftssats med metoden pollFirst() och pollLast(). Metoden pollFirst() får de första lägsta elementen från den angivna TreeSet. Å andra sidan får metoden pollLast() det högsta elementet från det sista i TreeSet.

Resultaten erhålls från metoderna pollFirst() och pollLast() som visade det lägsta och det högsta elementet från TreeSet i utdata.

Exempel 4

Metoden clear() används för att rensa bort alla element som finns i TreeSet. Den tomma TreeSet returneras när clear()-metoden har implementerats på TreeSet.

Den publika klassen 'ClearTreeSet' ställs in med metoden main() i det föregående programmet. Vi har genererat det tomma TreeSet där, som är satt i TreeSet-klassvariabeln 'SetElements'. Sedan infogade vi de slumpmässiga talen med hjälp av add()-metoden i TreeSet. Därefter skrev vi ut TreeSet för att visa elementen inuti det. Efter visning har vi använt metoden clear() för att rensa TreeSet.

Exempel 5

TreeSet tillåter inte tillägg av heterogena element. Om vi ​​försöker lägga till heterogena objekt i klassen, kommer 'classCastException' att kastas under körning. TreeSet accepterar bara objekt som är homogena och jämförbara.

Vi har distribuerat metoden main() inom Java-klassen 'HeterogenousObjectTreeSet' där vi har ställt in TreeSet-gränssnittet. TreeSet definieras i objektet 'CharSet'. Elementen läggs sedan till i TreeSets 'CharSet'-objekt. Vi har infogat de jämförbara elementen med StringBuffer-gränssnittet. Observera att det sista elementet i TreeSet är heterogent, vilket är ett heltalsvärde. Sedan skrev vi ut TreeSet-elementen för att få resultaten av att hämta det heterogena elementet.

Resultaten visar att det första indexvärdet för TreeSet inte visas, utan alla teckenelement visas på skärmen på grund av jämförbara objekt.

Slutsats

Java TreeSet-klassen innehåller endast distinkta element som HashSet. TreeSet är det optimala sättet att lagra stora mängder relevant data på grund av dess snabba tillgänglighet och varaktighet för hämtning, vilket underlättar snabb dataupptäckt. Dokumentet täcker grunderna för TreeSet-klassen, inklusive dess deklaration. Dessutom diskuteras olika metoder och operationer här.