Pole vs. Kolekce

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Pole vs. Kolekce

Příspěvekod Fantomas » 16 lis 2013 22:55

Ahoj,

ve škole jsem dostal domácí úkol, k jeho vypracování však musím pochopit zadání. Není to tak snadné, nemohl by mi někdo vysvětlit, co tímto měl učitel na mysli?

Vytvořte třídu Calculators, která si bude udržovat seznam referencí na instance Calculator, tedy na objekty implementující toto rozhraní. Údržba spočívá v implementaci veřejných metod void add(Calculator calculator), void remove(Calculator calculator) a void clear(). Seznam implementujte podle vlastního uvážení jako pole nebo kolekci. (Tip: kolekce mají stejnojmenné metody již k dispozici.)

Jak bych měl tyto metody dát do kolekce nebo pole? To jsem nikdy nedělal a myslím, že to ani nejde, ale to by nebylo pak v zadání...

Dali byste mi prosím příklad, jak je implementovat?
Děkuji mockrát.

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Pole vs. Kolekce

Příspěvekod CZechBoY » 16 lis 2013 23:02

Zdar,
s čím si konkrétně nevíš rady?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: Pole vs. Kolekce

Příspěvekod Fantomas » 16 lis 2013 23:53

nechápu, jak seznam obsahující metody dát do pole nebo kolekce

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Pole vs. Kolekce

Příspěvekod CZechBoY » 16 lis 2013 23:59

Seznam = kolekce, pole je součást kolekce, akorát kolekce je dynamická a můžeš do ní dávat další prvky přes Collection.Add a tak ;) viz google
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: Pole vs. Kolekce

Příspěvekod Fantomas » 17 lis 2013 00:06

ano to chápu a to je úplně základní poznatek, ale nechápu, jak deklarovat do ArrayListu metodu, něco jako:

Kód: Vybrat vše

ArrayList <Object> seznam = new ArrayList<>();
seznam.add(void add(Calculator calculator));
seznam.add(void clear() );


To je přeci nesmysl a Netbeany mi to také nepustí... Jak tedy vypadá syntaxe při přidávání metody do ArrayListu? Je vhodný ArrayList nebo dát HashSet či HashMap? Není to lepší dát do pole?

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Pole vs. Kolekce

Příspěvekod CZechBoY » 17 lis 2013 00:09

Dej si to do čeho chceš, však to je taky v zadání...
proč tam píšeš void a add? nechápu...
Co to je za jazyk?
Většinou se metody píšou PascalCasem, takže bych zkusil první písmeno dát velký ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: Pole vs. Kolekce

Příspěvekod Fantomas » 17 lis 2013 00:24

No je to v jazyku Java, to jsem zapomněl zmínit, za což se velice omlouvám.
Nenávratové metody např. void add(Calculator calculator) s parametrem Calculator (rozhraní, které má vlastnost "počítej").

Založil jsem si kolekci a pak jsem do ní přidával metody, ale to je asi blbost... Právě proto se ptám, jak dát buď do kolekce či do pole metodu (umím dávat pouze jednoduché datové typy do těchto objektů - např. int[] pole = new int {1,2,1}; ale metody jsem nikdy nedával).

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Pole vs. Kolekce

Příspěvekod CZechBoY » 17 lis 2013 00:26

Nechápu proč chceš dávat do kolekce metodu, myslím, že to jde ;-)
Máš tam ukládat jen nějaký objekty ne? Kolekce.Add(this); třeba
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Fantomas
Level 2
Level 2
Příspěvky: 163
Registrován: říjen 12
Pohlaví: Muž
Stav:
Offline

Re: Pole vs. Kolekce

Příspěvekod Fantomas » 17 lis 2013 00:32

Údržba spočívá v implementaci veřejných metod void add(Calculator calculator), void remove(Calculator calculator) a void clear(). Seznam implementujte podle vlastního uvážení jako pole nebo kolekci.

Musím nějak implementovat výše uvedené metody v kolekci či v poli... ale nevím jak by to vypadalo. Už jsem prošel hodně stránek, ale nikde nic takovýho neřešili... :cry:

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Pole vs. Kolekce

Příspěvekod CZechBoY » 17 lis 2013 00:35

To se má implementovat ve třídě Calculators ne?
Prostě napíšeš

Kód: Vybrat vše

void add(Calculator calculator) {this.items.Add(calculator);}
nazdar, hotovo :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti