TreeSet болон TreeMap хоёрын ялгаа

Агуулгын хүснэгт:

TreeSet болон TreeMap хоёрын ялгаа
TreeSet болон TreeMap хоёрын ялгаа

Видео: TreeSet болон TreeMap хоёрын ялгаа

Видео: TreeSet болон TreeMap хоёрын ялгаа
Видео: Curso Java Completo - Aula 162: Concorrência pt 01: Variáveis atômicas 2024, Арваннэгдүгээр
Anonim

Үндсэн ялгаа – TreeSet ба TreeMap

Масиви нь ижил төрлийн өгөгдлийн элементийн багцыг хадгалахад ашиглагддаг. Ихэнх програмчлалын хэл нь массивыг дэмждэг. Хэдийгээр массив олон утгыг хадгалах боломжтой; томоохон сул тал бий. Массив үүсгэсний дараа түүнийг өөрчлөх боломжгүй. Хэрэв програмист 10 элементийн массив зарласан бол 15 элементийг хадгалах боломжгүй. Программист 10 элементийн массивыг зарлаж, зөвхөн 5 элементийг хадгалах үед хуваарилагдсан санах ойн үлдсэн хэсэг нь дэмий хоосон болно. Java зэрэг програмчлалын хэлүүд нь өгөгдлийн элементүүдийг динамикаар хадгалах цуглуулгатай байдаг. Хэд хэдэн цуглуулга байдаг. Цуглуулга нь элемент нэмэх, хасах болон бусад үйлдлүүдийг хийхэд тусалдаг. Үндсэн интерфейсийг цуглуулга гэж нэрлэдэг. Set, List болон Queue нь Цуглуулгын интерфейсийг өргөтгөх зарим интерфейс юм. Газрын зураг нь цуглуулгын шатлалын интерфейс боловч Цуглуулгын интерфейсийг өргөтгөхгүй. TreeSet нь Set интерфейсийг хэрэгжүүлдэг анги бөгөөд элементүүдийг өсөх дарааллаар хадгалдаг. TreeMap бол Газрын зургийн интерфейсийг хэрэгжүүлдэг анги бөгөөд түлхүүр, утгын хосуудыг өсөх дарааллаар хадгалдаг. Энэ бол гол ялгаа юм. Энэ нийтлэлд TreeSet болон TreeMap хоёрын ялгааг авч үзнэ.

TreeSet гэж юу вэ?

TreeSet нь Set интерфейсийг хэрэгжүүлдэг анги юм. TreeSet нь өвөрмөц элементүүдийг хадгалдаг. TreeSet нь NavigableSet интерфейсийг хэрэгжүүлдэг. Navigable интерфэйс нь SortedSet, Set, Collection болон Iterable интерфэйсүүдийг шаталсан дарааллаар өргөтгөдөг. TreeSet нь элементүүдийг өсөх дарааллаар хадгалдаг. Хэрэв оруулах дараалал нь A, C, B байвал TreeSet тэдгээрийг A, B, C хэлбэрээр хадгална. TreeSet-ийн аргууд байдаг. Нэмэх аргыг олонлогт элемент нэмэхэд ашигладаг. Устгах аргыг заасан элементийг устгахад ашигладаг. Тодорхой аргыг бүх элементүүдийг арилгахад ашигладаг. Set-д заасан элемент байгаа бол contain арга нь үнэнийг буцаана. Эдгээр нь TreeSet-ээс өгсөн зарим аргууд юм. Доорх хөтөлбөрийг үзнэ үү.

TreeSet ба TreeMap хоёрын ялгаа
TreeSet ба TreeMap хоёрын ялгаа

Зураг 01: TreeSet ашигласан програм

Дээрх программын дагуу Treeset нь TreeSet төрлийн объект юм. Энэ нь мөрүүдийг хадгалах боломжтой. Элементүүдийг нэмэх аргыг ашиглан нэмнэ. Оруулах дараалал нь A, C, D ба B. Давтагчийг ашиглан хадгалагдсан утгуудыг дэлгэцэн дээр хэвлэнэ. Элементүүд нь A, B, C, D дарааллаар хадгалагддаг. Тиймээс TreeSet нь олонлогийн элементүүдийн өсөх дарааллыг хадгалдаг. Хэрэв "D" гэж өөр элемент байвал хэвлэхгүй, учир нь D элемент нь олонлогт аль хэдийн байгаа. Энэ нь үргэлж өвөрмөц элементүүдийг хадгалдаг.

TreeMap гэж юу вэ?

TreeMap бол Газрын зургийн интерфейсийг хэрэгжүүлдэг анги юм. Газрын зураг нь түлхүүр-утга хосыг дэмждэг. Түлхүүр, утга хос бүр нь оруулга юм. Түлхүүр бүр өвөрмөц бөгөөд түүнд тохирсон утгатай байдаг. Тодорхой түлхүүрийг олохын тулд containKey аргыг ашигладаг бол containValue аргыг тодорхой утгыг олоход ашигладаг. Өгөгдсөн түлхүүрт тохирох утгыг олохын тулд get аргыг ашигладаг. Өгөгдсөн түлхүүрээр утгыг хадгалахын тулд put аргыг ашигладаг. Мөн устгах аргыг ашиглан тодорхой түлхүүр дээрх элементийг устгах боломжтой. Эдгээр нь Газрын зургийн интерфейсийн зарим нийтлэг аргууд юм. Энэ нь түлхүүр дээр үндэслэн элементүүдийг хайх, оруулах, устгахад тусалдаг. TreeMap анги нь NavigableMap-ийг хэрэгжүүлдэг. NavigableMap нь SortedMap-г өргөтгөдөг. SortedMap нь Газрын зургийг өргөтгөдөг. Тиймээс Газрын зургийн аргуудыг TreeMap-д ашиглаж болно. Доорх хөтөлбөрийг үзнэ үү.

TreeSet ба TreeMap хоёрын гол ялгаа
TreeSet ба TreeMap хоёрын гол ялгаа

Зураг 02: TreeMap ашиглан программ

Дээрх программын дагуу TreeMap-ын объект үүссэн. Програмист нь тухайн объектыг ашиглан элементүүдийг нэмж болно. Түлхүүр, утгын хосыг оруулахад тавих аргыг ашигладаг. Элементүүдийг татахын тулд авах аргыг тусгай түлхүүрээр ашигладаг. Программист Map. Entry-г ашиглан бүх түлхүүр болон утгыг хэвлэх боломжтой. Гаралтыг ажиглахдаа оруулсан дарааллыг хадгалахгүй. Энэ нь элементүүдийг өсөх дарааллаар хадгалдаг.

TreeSet болон TreeMap хоёрын ижил төстэй талууд юу вэ?

  • TreeSet болон TreeMap хоёулаа цуглуулгын шатлалд байна.
  • TreeSet болон TreeMap хоёулаа өсөх дарааллыг хадгална.
  • TreeSet болон TreeMap хоёулаа олон элементийг хадгалж, удирдах боломжтой.

TreeSet болон TreeMap хоёрын ялгаа юу вэ?

TreeSet vs TreeMap

TreeSet нь Set интерфейсийг хэрэгжүүлдэг анги бөгөөд элементүүдийг өсөх дарааллаар хадгалдаг. TreeMap нь Газрын зургийн интерфейсийг хэрэгжүүлдэг анги бөгөөд түлхүүр, утгын хосуудыг өсөх дарааллаар хадгалдаг.
Хэрэгжүүлсэн интерфейс
TreeSet нь Set интерфейсийг хэрэгжүүлдэг. TreeMap нь Газрын зургийн интерфейсийг хэрэгжүүлдэг.

Хураангуй – TreeSet vs TreeMap

Массив нь элементүүдийн багцыг хадгалахад ашиглагддаг боловч энэ нь элементүүдийг динамикаар хадгалахад тус болохгүй. Java зэрэг програмчлалын хэлүүд нь өгөгдлийн элементүүдийг динамикаар хадгалах цуглуулгуудыг агуулдаг. Цуглуулга нь цуглуулгын шатлалын үндсэн анги юм. Энэ нь элемент нэмэх, устгах гэх мэт үйлдлүүдийг гүйцэтгэх анги, интерфейсээс бүрдэнэ. Set болон Map нь Цуглуулгын шатлалын хоёр интерфейс юм. TreeSet нь Set интерфейсийг хэрэгжүүлдэг анги бөгөөд элементүүдийг өсөх дарааллаар хадгалдаг. TreeMap бол Газрын зургийн интерфейсийг хэрэгжүүлдэг анги бөгөөд түлхүүр, утгын хосуудыг өсөх дарааллаар хадгалдаг. Энэ бол TreeSet болон TreeMap хоёрын ялгаа юм.

Зөвлөмж болгож буй: