![]() |
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Benutzer
int
Registriert seit: 22.10.2006
Fachbeiträge: 39
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo,
bin mal wieder mit dem Selbststudium eines Buches beschäftigt. Da beginnt eine Einkaufswagen-Datenstruktur-Klasse folgendermaßen: Code:
public class Shopping Cart
{
private ArrayList itemsOrdered;
public ShoppingCart()
{
itemsOrdered = new ArrayList();
}
public List getItemsOrdered()
{
return itemsOrdered;
}
[...]
}
Nun wollte ich hier mal nachfragen, wie das gemeint ist. Kann mir jemand vielleicht ein Beispiel nennen, wie sich die Implementierung unter Nutzung des Rückgabewertes List ‚problemlos ändern’ lässt? Danke, danke, für Antworten! |
|
|
| #2 (permalink) | |
|
Stammbenutzer
Halbes Gigabyte
Registriert seit: 02.12.2003
Fachbeiträge: 5.472
Abgegebene Danke: 0
Erhielt 3 Danke für 3 Beiträge
|
Such mal nach einem Kapitel über Interfaces, vielleicht wirds dann klarer... (je nach Qualität des Buches)
__________________
Andy Clarke is hip and mature. You almost never get both. He is a seasoned brand steward, a fancy pixel wrangler, and no mean hand at code. A triple talent. The bastard. - Jeffrey Zeldman http://www.alexander-langer.de |
|
|
| #3 (permalink) | |
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 17.06.2005
Fachbeiträge: 4.593
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 23 Danke für 21 Beiträge
|
Herzlichen Glückwunsch. Du bist auf eines der grundlegendsten Konzepte der objektorientierten Programmierung gestoßen. Jetzt musst Du es nur noch kapieren!
![]() List ist ein Interface und definiert einheitliche Methoden zum Umgang mit Listen. ArrayList ist eine konkrete Implementierung dieses Interfaces. Es gibt noch weitere Implementierungen, z.B. LinkedList. Wenn der Rückgabewert List ist und nicht ArrayList, dann lässt man es also offen, welche Implementierung von List gewählt wird. Es kann Dir auch vollkommen egal sein, weil durch das gemeinsame Interface sichergestellt ist, dass Du alle Implementierungen einheitlich behandeln kannst. |
|
|
| #4 (permalink) | |
|
Stammbenutzer
Halbes Megabyte
Registriert seit: 28.03.2007
Fachbeiträge: 718
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Um bei deinem Beispiel zu bleiben:
Code:
public class ReadOnlyShoppingCart extends ShoppingCart
{
public List getItemsOrdered()
{
return Collections.unmodifiableList(super.getItemsOrdered());
}
[...]
}
|
|
|
| #5 (permalink) | |
|
Benutzer
int
Themenstarter
Registriert seit: 22.10.2006
Fachbeiträge: 39
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Ok, bis hierhin schon mal vielen Dank! Habe das verstanden.
Mag mir jetzt noch einer kurz (vielleicht in zwei, drei Sätzen) erklären, wo der Unterschied zwischen diesen ganzen Listen ist, ohne dass ich die API wälzen muß? Bzw. wo vielleicht auch die Gemeinsamkeiten liegen, wobei, ok, die liegen eben in den Interface-Methoden von List. Danke nochmals! |
|
|
| #6 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 13.11.2005
Fachbeiträge: 32.005
Abgegebene Danke: 0
Erhielt 2.620 Danke für 2.580 Beiträge
|
ArrayList benutzt intern ein Array,
LinkedList ist eine verkettete Liste wenn dir verkettete Liste nix sagt, dann schaue bitte bei google nach, das sind ein paar Sätze mehr |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| unterschied list und arraylist? | dermoritz | Java Basics - Anfänger-Themen | 11 | 21.05.2008 16:15 |
| LinkedList, Collection, ArrayList, List. was denn bitte? | julchen81 | Java Basics - Anfänger-Themen | 6 | 25.02.2008 07:55 |
| List einer ArrayList zuweisen. | Java Basics - Anfänger-Themen | 5 | 20.12.2007 07:32 | |
| Arraylist statt List - Sehr schlimm? | Allgemeine Java-Themen | 8 | 16.08.2007 11:26 | |
| List / ArrayList übergen | Destiny1985 | Java Basics - Anfänger-Themen | 6 | 30.06.2005 10:58 |
| Lesezeichen |
|
|