CET - Škola za kompjuterske kurseve i sertifikate - Prodaja softvera - Izdavanje knjiga   CET - Škola za računare - Prodaja softvera - Izdavanje knjiga
CET:Home |Čitalište:Home |O Čitalištu |
Novo čitalište
Dizajn
Hardver
Internet
Multimedija
Off-Line
Programiranje
Sistemi
Softver

Arhiva
2000 1 2 3 4 5
  6        
2001 7 8 9 10 11
  12 13 14 15
2002 16 17 18 19 20
  21 22 23 24  
2003 25 26 27 28 29
  30 31 32 33 34
2004 35 36 37 38 39
  40 41 42 43  
2005 44 45 46 47 48
  49 50 51 52 53
2006 54 55 56 57 58
  59 60 61    
2007 62 63 64 65 66
Java-Kolekcije i iteratori (1)
Autor(i): Atila Rafai
Broj: Čitalište 6 (decembar 2000.)
Tema: Programiranje
Potpuni tekst: PDF, 207KB

Ako ne znate koliko ćete objekata koristiti da biste rešili neki problem ili postoji mogućnost da će im broj biti promenljiv, onda postoji i problem njihovog smeštanja u memoriju. U programskom jeziku Java rešenje tog problema predstavljaju kolekcije - objekti koji se koriste za smeštanje i manipulaciju nedefinisanim brojem objekata.

Sve što je potrebno, s gledišta dizajna korisničkog programa, jeste niz objekata koji ima promenljivu veličinu i metode koje omogućavaju da se manipuliše tim objektima. Ali ima dobrih razloga za postojanje više tipova kolekcija. Kao prvo, različite vrste kolekcija treba da imaju različite načine na koji se može manipulisati podacima koje sadrže. Kao drugo, različite vrste kolekcija imaju različite nivoe efikasnosti odrađivanja različitih operacija. (Na primer, neće se na isti način umetnuti novi element u sortiranu ili običnu listu.)

Razrađeni objektno orijentisani programski jezici sadrže paket klasa koji služe za rešenje problema kolekcija. U jeziku C++ to je STL (Standard Template Library). Pošto je Java nastala kao jezik koji je trebalo da zameni C++ u određenoj klasi problema, pa joj je jezik C++ bio početni uzor (a ona je kasnije narasla do sadašnjih mogućnosti), i u njoj se nalazi grupa takvih klasa. Java je podržavala kolekcije već od verzije 1.0; ta je podrška unekoliko bila poboljšana u verziji 1.1, ali se tek u verziji 2.0 došlo do obuhvatnije implementacije kolekcija.

Osnovne klase koje se koriste za kreiranje kolekcija tretiraju sve objekte koje mogu da sadrže kao da nemaju specifikovan tip, tačnije, bazirane su na pretpostavci da sadrže objekte tipa Object. Pošto sve klase u Javi imaju na početku svoje hijerarhije nasleđivanja klasu Object, to i ne predstavlja neki problem. Za primitivne tipove podataka (byte, char, int, float, ...) postoje klase koje se mogu koristiti umesto njih, tako da ovakvo rešenje ima dovoljnu širinu. Problem nastaje pri proveri tipa objekta koji neka kolekcija može da sadrži. Ako kreirate neki niz ili matricu promenljivih imate mogućnost provere tipova podataka koje pokušavate da upišete. To znači da za vreme pisanja programa kompajler može proveriti da li ste pogrešili prilikom pisanja programskog koda. U slučaju kolekcija to nije moguće, pa ostaje samo neprijatna mogućnost da korisnik vašeg programa tokom rada dobije poruku o neuspešnom pokušaju izvršenja nelegalne instrukcije od strane JVM-a (Java Virtual Machine), čime se prekida i rad programa.


Pretraživanje
Broj čitališta:
Naslov:
Autor(i):
Tekst:

Izaberite temu:

Copyright © 1998-2007 CET. All rights reserved.
Office: Knez Mihailova 6/VI, Beograd, 011/32-82-995, 32-81-720, 32-81-614, office@cet.co.yu
Redakcija: Bul. Vojvode Mišića 17/I, Beograd, 011/369-05-16, 369-16-84, redakcija@cet.co.yu
Knjižara: Skadarska 45, Beograd, 011/32-43-043, 32-37-246, knjige@cet.co.yu