www.fatihkabakci.com

Personal Website and Computer Science TUR EN

JAVA TREEMAP

Last update: 10/3/2014 6:31:00 PM

Yazan:Fatih KABAKCI

TreeMap sınıfı anahtar/değer veri çiftlerini bir ağaç yapısı içerisinde saklayan eşleme sınıfıdır. Genellikle arama algoritmalarında sağladığı hız açısından kullanımı tavsiye edilen TreeMap 'ler varsayılan durumda verileri artan sırada saklar. TreeMap NavigableMap arabirimini uyguladığından elemanları arasında büyüklük-küçüklük ayrımını sunduğu metotlar sayesinde rahatlıkla sağlamaktadır.

TreeMap sınıfının tanım aralığı aşağıda verilmektedir.

public class TreeMap extends AbstractMap implements NavigableMap , Cloneable, Serializable

TreeMap ' ler 4 adet constructor içerir.
  1. İlki varsayılan bir Comparator 'e sahip, yani doğal sıralama algoritmasını kullanan bir TreeMap.
  2. İkinci olarak kurucu metot içinde gönderilen özel bir sıralayıcı.
  3. Üçüncüsü hali hazırda elemanlar içeren bir Map sınıfı.
  4. Son olarak da elemanları sıralı bir şekilde mevcut olan SortedMap sınıfı.
Bu yazıda basitlik amacıyla anahtarlarını doğal sıralama olarak kullanan TreeMap örneğini inceleyelim. Doğal sıralama klasik asc(ascending sort) olarak bilinen sıralamadır.Aşağıda TreeMap sınıfını kullanan örnek gösterilmiştir.




TreeMap Kaynak Kod

TreeMap 'ler daha önceden bahsedildiği gibi anahtarlar arasındaki uyumu kontrol edebilir. Zaten kullandığı karşılaştırıcılarda(comparators) bunun bir göstergesidir. Yukarıdaki programda {1=B, 2=D, 4=E, 5=A, 7=C} çiftlerine sahip bir TreeMap oluşturulmaktadır. Daha sonra en sık kullanılan TreeMap metotları gösterilmektedir. firstEntry() ile TreeMap ağacı içerisindeki ilk kök anahtar/değer çifti elde edilir. ceilingEntry() ile verilen anahtara eşit veya o anahtardan büyük en küçük anahtar çifti elde edilir. Aynı şekilde floorEntry() de tam tersi olarak verilen anahtara eşit veya ondan küçük olan en büyük anahtar/değer çifti elde edilir. Koleksiyon mimarisinde genel olarak sınıfların ve arabirimlerin birbirlerine benzerliği dikkat çeker. TreeMap metotları da aynı şekilde kullanımları JCF TreeSet metotları na işlevsel olarak benzer. higherEntry() ve lowerEntry() metotları da verilen anahtardan bir büyük olan veya bir küçük olan anahtar/değer çiftlerini verir. TreeMap 'in önden, ortadan ve sondan olmak üzere headMap(), subMap() ve tailMap() alt map 'ler elde edilen metotları bulunur. Yukarıdaki programda son olarak bir ağaç veri yapısına sahip eşleme içerisinden ilk ve son elemanları poll eden, yani anahtar/değer çiftini vererek ilgili Entry ' yi TreeMap 'den silen pollFirstEntry() ve pollLastEntry() metotları bulunur.

Yukarıdaki programın çıktısı aşağıda gösterilmektedir.


TreeMap 'ler anahtar/değer çiftlerini ağaç yapısı modeli ile aksi belirtilmediği sürece (özel bir sıralayıcının olmadığı) verileri artan sırada saklar. Aynı zamanda bu Entry ' ler ile de mukayese yapılabilen bir eşleme çeşididir.
There has been no comment yet

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.