Тизме менен топтомдун ортосундагы айырма

Мазмуну:

Тизме менен топтомдун ортосундагы айырма
Тизме менен топтомдун ортосундагы айырма

Video: Тизме менен топтомдун ортосундагы айырма

Video: Тизме менен топтомдун ортосундагы айырма
Video: Data Science with Python! Joining Tables Without a Common Column 2024, Ноябрь
Anonim

Негизги айырма – Тизме менен Топтом

Көпчүлүк программалоо тилдери бир типтеги берилиштердин топтомун сактоо үчүн массивдерди колдонушат. Массивдердин бир чоң кемчилиги массивдин өлчөмү жарыялангандан кийин аны өзгөртүүгө болбойт. Эгерде программист массивдин өлчөмүнөн ашкан маанилерди сактагысы келсе, анда ал жаңы массив түзүп, учурдагы элементтерди жаңы массивге көчүрүшү керек. Мындай учурларда, коллекцияларды колдонсо болот. Коллекциялардын колдоосу менен элементтерди кошуу, элементтерди жок кылуу жана башка көптөгөн операцияларды жасоого болот. Java сыяктуу программалоо тилдеринде ар кандай жыйнактар бар. Тизме жана Set коллекциялар иерархиясынын интерфейстери. Башка интерфейстердин базалык интерфейси Коллекция болуп саналат. Тизме менен Топтун ортосундагы негизги айырма, Тизме бир эле элементти бир нече жолу сактоону колдойт, ал эми Set бир эле элементти бир нече жолу сактоону колдобойт. Ошондуктан, топтом кайталоого жол бербейт.

Тизме деген эмне?

Тизме Collection интерфейсин кеңейтүүчү интерфейс. Коллекция интерфейсинде бир нече ыкмалар бар. кошуу ыкмасы элементти кошууга жардам берет. "Алып салуу ыкмасы" - бул элементти алып салуу. Коллекциядан элементтерди алып салуу үчүн "removeAll ыкмасы" бир нече элементтерди кошуу үчүн "addAll ыкмасы" бар. Content ыкмасы белгилүү бир объекттин Тизмеде бар же жок экенин аныктоого жардам берет. 'containsAll' коллекцияда объекттердин жыйындысы бар же жок экенин билүү. Итератор ыкмасы тизменин пункттары боюнча цикл үчүн колдонулат. Тизме Коллекцияны кеңейткенде, Коллекциянын бардык ыкмалары Тизмеге таандык. Бул ыкмалардан башка, Тизмеде алуу жана коюу сыяктуу ыкмалар бар. Программист get ыкмасын колдонуу менен белгилүү бир индексте маани ала алат. Программист белгиленген ыкманы колдонуу менен белгилүү бир индексте маани орното алат. "indexOf" элементтин индексин табуу үчүн колдонулат.

Тизмеде операциялар позицияга жараша аткарылышы мүмкүн. Программист индекске кошула турган маалымат элементин бере алат. Ошентип, ал белгилүү бир индекске кошулат. Эгерде программист индексти бербесе, элемент Тизменин аягына кошулат. Ал ошондой эле киргизилген тартипти сактайт. Эгерде 1-элемент кошулуп, андан кийин элемент2 кошулса, анда 1-элемент 2-элементтин алдында болот.

Тизме менен топтомдун ортосундагы айырма
Тизме менен топтомдун ортосундагы айырма

01-сүрөт: Тизме жана орнотуу

ArrayList, LinkedList, Vector - бул тизмени ишке ашыруучу класстар. ArrayListте элементке жетүү тез, бирок киргизүү жана жок кылуу азыраак. ArrayList жип үчүн коопсуз эмес. Бир эле ArrayListке бир нече жиптен жетүү бирдей натыйжа бербеши мүмкүн. LinkedListте элементтер артка да, алдыга да байланышкан. LinkedList аркылуу элементтерди киргизүү жана жок кылуу ArrayListке караганда тезирээк. LinkedList тизмени жана кезекти тең ишке ашырат. Вектор ArrayListке окшош, бирок бардык ыкмалар шайкештештирилгендиктен, ал тебелөө үчүн коопсуз.

Орнотуу деген эмне?

Set – бул Коллекциянын интерфейсин кеңейтүүчү интерфейс. Set интерфейси Коллекцияны кеңейткендиктен, Коллекциянын бардык ыкмалары да Setке таандык. Set кайталануучу маанилерди колдобойт. Демек, программист бир эле элементти эки жолу сактай албайт. Ал элементтердин уникалдуу топтомун сактайт. SortedSet интерфейси Set интерфейсин кеңейтет. SortedSet элементтерди иреттелген тартипте сактайт. NavigableSet интерфейси SortedSetти кеңейтет. NavigableSet төмөнкү, пол, шып ж.б. сыяктуу навигация ыкмаларын камсыз кылат.

HashSet, LinkedHashSet жана TreeSet Set интерфейсин ишке ашырган кээ бир класстар. HashSet Set интерфейсин ишке ашырат. Ал киргизилген тартипти сактабайт. Эгерде маанилер a, x, b катары киргизилсе, ал, x, a, b катары сакталышы мүмкүн. LinkedSet киргизилген тартипти сактайт. Эгерде элементтер a, x, b тартибинде киргизилсе, сактоо тартиби a, x, b болот. TreeSet Set жана NavigableSetти ишке ашырат. Ал киргизүү тартибин сактабайт, бирок элементтерди иреттелген тартипте сактайт. Эгерде киргизилген тартип a, c, b болсо, анда элементтер a, b, c катары сакталат. Бардык HashSet, LinkedHashSet жана TreeSet кайталанма элементтерге ээ болбойт.

Тизме менен топтомдун кандай окшоштуктары бар?

  • Тизме жана Орнотуу интерфейстери Коллекциянын интерфейсин кеңейтет.
  • Элементтерди кошуу, алып салуу сыяктуу Тизмеге жана Орнотууга колдоо көрсөтүү операциялары.

Тизме менен топтомдун ортосунда кандай айырма бар?

Тизме vs Set

Тизме интерфейси – индекстин негизинде киргизүү, жок кылуу сыяктуу операцияларды аткаруу ыкмаларын камтыган Коллекциянын кошумча интерфейси. Set Interface – уникалдуу элементтерди сактоо менен элементтерди киргизүү, жок кылуу сыяктуу операцияларды аткаруу ыкмаларын камтыган Коллекциянын суб интерфейси.
Класстар
ArrayList, Vector жана LinkedList - List интерфейсин ишке ашырган класстар. HashSet, LinkedHashSet жана TreeSet - Set интерфейсин ишке ашырган класстар.
Элементтин кайталанышы
Тизме элементтердин кайталанышын колдойт. Сет элементтердин кайталанышын колдобойт. Элементтер уникалдуу.

Корытынды – Тизме жана Топтом

Жыйнактар элементтерди динамикалык сактоо үчүн колдонулат. Java сыяктуу программалоо тилдери Collection интерфейсин камсыз кылат. List жана Set - бул Коллекция интерфейсине таандык эки интерфейс. Эки интерфейс тең Коллекцияны кеңейтет. Бул макалада List жана Set ортосундагы айырма талкууланды. Тизме менен Set ортосундагы негизги айырма, Тизме бир эле элементти бир нече жолу сактоону колдойт, ал эми Set бир эле элементти бир нече жолу сактоону колдобойт. Топто ар дайым уникалдуу элементтерди сактайт.

Сунушталууда: