1. కంటైనర్లు మరియు సేకరణలు

కంటైనర్‌లు లేదా సేకరణలు అంటే ఒకేసారి అనేక వస్తువులను నిల్వ చేయడానికి మరియు ప్రాసెస్ చేయడానికి మిమ్మల్ని అనుమతించే తరగతులు. మీకు ఇప్పటికే రెండు రకాల కంటైనర్‌లు తెలుసు: శ్రేణులు మరియు జాబితాలు.

జావా అనేక డజన్ల సేకరణలను కలిగి ఉంది, వీటిలో ప్రతి ఒక్కటి దాని స్వంత నిర్దిష్ట మార్గంలో మూలకాలను నిల్వ చేస్తుంది. వాటిలో కొన్ని ఇక్కడ ఉన్నాయి:

సేకరణ తరగతి వివరణ
List
ArrayList
జాబితా
LinkedList
లింక్ చేయబడిన జాబితా
Vector
వెక్టర్
Stack
స్టాక్
Set
HashSet
సెట్
TreeSet
LinkedHashSet
Queue
PriorityQueue
క్యూ
ArrayQueue
Map
HashMap
మ్యాప్/నిఘంటువు
TreeMap
HashTable

ఇక్కడ పేర్లు కొంత అస్పష్టంగా ఉన్నాయి. చాలా ప్రోగ్రామింగ్ భాషలలో, ఈ డేటా నిర్మాణాలన్నింటినీ సేకరణలు అంటారు, కానీ జావాలో కాదు. జావాలో, ఈ తరగతులలో కొన్ని Collectionఇంటర్‌ఫేస్‌ను అమలు చేస్తాయి, మరికొన్ని అమలు చేయవు.

దీని ప్రకారం, సేకరణలు విస్తృత అర్థంలో సేకరణలుగా మరియు సంకుచిత అర్థంలో సేకరణలుగా విభజించబడ్డాయి (ఇంటర్‌ఫేస్‌ను అమలు చేసేవి మాత్రమే Collection).

కాబట్టి గందరగోళాన్ని నివారించడానికి, మేము సేకరణల గురించి మాట్లాడేటప్పుడు పదం యొక్క ఇరుకైన అర్థంలో అర్థం, అంటే Collectionఇంటర్‌ఫేస్‌ను అమలు చేసే తరగతులు. ది List, Setమరియు Queueరకాలు అన్నీ సేకరణలు. విస్తృత అర్థంలో సేకరణలను సాధారణంగా కంటైనర్లు అంటారు . వీటిలో రకాలు Mapమరియు శ్రేణులు ఉన్నాయి.


2. HashSetసేకరణ

తరగతి HashSetఒక సాధారణ సెట్ సేకరణ. అనేక విధాలుగా, ఇది తరగతికి సమానంగా ఉంటుంది ArrayList. కొన్ని మార్గాల్లో, ఇది మరింత ప్రాచీనమైన వెర్షన్.

HashSetమీరు ఇలాంటి స్టేట్‌మెంట్‌ని ఉపయోగించి వస్తువును సృష్టించవచ్చు :

HashSet<Type> name = new HashSet<Type>();

Typeమేము సేకరణలో నిల్వ చేసే మూలకాల రకం ఎక్కడ ఉంది HashSet.

తరగతికి HashSetఇలాంటి పద్ధతులు ఉన్నాయి:

పద్ధతి వివరణ
void add(Type value)
valueసేకరణకు మూలకాన్ని జోడిస్తుంది
boolean remove(Type value)
valueసేకరణ నుండి మూలకాన్ని తీసివేస్తుంది . అటువంటి మూలకం ఉంటే
తిరిగి వస్తుందిtrue
boolean contains(Type value)
సేకరణలో valueమూలకం ఉందో లేదో తనిఖీ చేస్తుంది
void clear()
అన్ని మూలకాలను తీసివేసి, సేకరణను క్లియర్ చేస్తుంది
int size()
సేకరణలోని మూలకాల సంఖ్యను అందిస్తుంది

సెట్‌ను ఉపయోగించడం కోసం ఇక్కడ ఒక ఉదాహరణ ఉంది.

అతను లేదా ఆమె హలో చెబితే వినియోగదారుకు వీడ్కోలు చెప్పే ప్రోగ్రామ్‌ను వ్రాస్దాం. దీన్ని మరింత ఆసక్తికరంగా చేయడానికి, మేము మా ప్రోగ్రామ్‌కు అనేక భాషల్లో "హలో"ని అర్థం చేసుకునే సామర్థ్యాన్ని అందిస్తాము.

కోడ్ గమనిక
HashSet<String> set = new HashSet<String>();

set.add("Hallo");
set.add("Hello");
set.add("Hola");
set.add("Bonjour");
set.add("Ciao");
set.add("Namaste");

Scanner console = new Scanner(System.in);
String str = console.nextLine();

if (set.contains(str))
   System.out.println("Goodbye!");
HashSetమూలకాలను నిల్వ చేసే వస్తువును సృష్టించండి String.


మేము వేరియబుల్‌కు వివిధ భాషలలో శుభాకాంక్షలను జోడిస్తాము set.




కన్సోల్ నుండి ఒక లైన్ చదవండి.


స్ట్రింగ్ మా శుభాకాంక్షల సెట్‌లో ఉంటే, మేము వీడ్కోలు పలుకుతాము.


3. సెట్

సేకరణ Setమూలకాల సమితిని కలిగి ఉండేలా రూపొందించబడింది. అందుకే దీనిని Set(సెట్) అంటారు. ఈ సేకరణలో మూడు ఫీచర్లు ఉన్నాయి.

ఒక సెట్లో కార్యకలాపాలు

సెట్‌తో మీరు చేయగలిగిన మూడు విషయాలు మాత్రమే ఉన్నాయి: సెట్‌కు ఎలిమెంట్‌లను జోడించండి, సెట్ నుండి ఎలిమెంట్‌లను తీసివేయండి మరియు సెట్‌లో నిర్దిష్ట ఎలిమెంట్ ఉందో లేదో తనిఖీ చేయండి. అంతే.

ఆర్డర్ లేదు

ఈ సేకరణలోని మూలకాలకు సూచికలు లేవు. మీరు ఇండెక్స్ ద్వారా మూలకాన్ని పొందలేరు లేదా నిర్దిష్ట సూచికలో సేకరణకు విలువను వ్రాయలేరు. సమితికి సంఖ్య get()మరియు set()పద్ధతులు ఉన్నాయి.

ప్రత్యేక అంశాలు

సెట్‌లోని అన్ని అంశాలు ప్రత్యేకమైనవి. జాబితా వలె కాకుండా, ఒక సమితి మూలకం యొక్క ఒక ఉదాహరణను మాత్రమే కలిగి ఉంటుంది. ఒక వస్తువు సెట్‌లో ఉందా లేదా - మూడవ ఎంపిక లేదు. మీరు రంగుల సెట్‌కు నలుపును మూడుసార్లు జోడించలేరు. ఇది అక్కడ ఉంది లేదా అది లేదు.

అంశాలను కనుగొనడం

మీరు కొత్త మూలకాన్ని జోడించినప్పుడు, మూలకాన్ని తీసివేసినప్పుడు లేదా ఒక మూలకం సమితిలో ఉందో లేదో తనిఖీ చేసినప్పుడు, మూలకం కోసం శోధన పద్ధతిలో నిర్వహించబడుతుంది. ఆమోదించబడిన మూలకం మొదట సేకరణలోని మూలకాలతో పోల్చబడుతుంది hashCode(), ఆపై విలువలు సరిపోలితే hashCode(), ద్వారా equals().



4. సేకరణలను పోల్చడం: ListvsSet

రెండు రకాల సేకరణలను సరిపోల్చండి: Listమరియు Setమేము ప్రధాన వ్యత్యాసాలను పరిశీలిస్తాము, ఒకటి మరొకటి కంటే ఎక్కువ ప్రయోజనకరంగా ఉన్నప్పుడు మరియు దీనికి విరుద్ధంగా.

ఉదాహరణగా బొమ్మలను ఉపయోగించి జాబితా మరియు సెట్‌ను సరిపోల్చడానికి ప్రయత్నిద్దాం.

List(జాబితా) సేకరణ ఆటగదిలో గోడ వెంట అమర్చబడిన బొమ్మల సెట్ లాంటిది. మీరు జాబితా చివరలో ఒక బొమ్మను జోడించవచ్చు. మీకు నిజంగా అవసరమైతే, మీరు దానిని మధ్యలో కూడా చొప్పించవచ్చు (కానీ ఇప్పటికే ఉన్న కొన్ని బొమ్మలను తరలించవలసి ఉంటుంది).

ప్రతి బొమ్మకు సూచిక ఉంటుంది. మీరు బొమ్మను దాని సూచిక ద్వారా సూచించవచ్చు మరియు బొమ్మ సంఖ్య 7ని బొమ్మ సంఖ్య 13తో భర్తీ చేయవచ్చు. మీరు జాబితా నుండి బొమ్మ సంఖ్య 4ని తీసివేయవచ్చు. చివరగా, మీరు జాబితాలోని ప్రతి బొమ్మ యొక్క సూచికను తెలుసుకోవచ్చు.

Set(సెట్) సేకరణ నేల మధ్యలో బొమ్మల కుప్పలా ఉంటుంది. మీరు కుప్పకు ఒక బొమ్మను జోడించవచ్చు మరియు మీరు పైల్ నుండి ఒక బొమ్మను తీసివేయవచ్చు. కానీ ఈ బొమ్మలకు వాటితో అనుబంధించబడిన స్థిర సూచిక లేదు.

లేదా మీరు మీ పిల్లల పుట్టినరోజు కోసం బొమ్మను ఎంచుకుంటున్నారని అనుకుందాం. మొదట, అతని వద్ద ఇప్పటికే బొమ్మ ఉందా అని మీరు ఆలోచించండి. అతను ఇప్పటికే కలిగి ఉన్న అన్ని బొమ్మలు మీరు కొనుగోలు చేయడానికి ఎంచుకోని బొమ్మల సమితిని ఏర్పరుస్తాయి.

ఈ దృక్కోణం నుండి, "ఇప్పటికే ఉనికిలో ఉన్న బొమ్మల" సెట్‌లోని బొమ్మల క్రమం పట్టింపు లేదని మీరు చూడవచ్చు లేదా పుట్టినరోజు అబ్బాయికి ఒక నిర్దిష్ట బొమ్మ యొక్క రెండు ఉదాహరణలు ఉంటే అది పట్టింపు లేదు. ప్రతి బొమ్మ యొక్క క్రమం లేదా సంఖ్యపై మీకు ఆసక్తి లేదు. మీరు శ్రద్ధ వహించేది సెట్‌లో ఉన్న ప్రతి ప్రత్యేకమైన బొమ్మను తెలుసుకోవడం.

ఇలాంటి సందర్భాల్లో, మీకు Setసేకరణ అవసరం. దీని అత్యంత ప్రజాదరణ పొందిన అమలు తరగతి HashSet.