Zugriff auf Array-Liste

DieDreiJavas

Mitglied
Hallo!
Wir haben folgende Frage:
Wir wollen einen Cocktail-Rezept-Manager erstellen. Dieser soll folgende Funktionen zur Verfügung stellen: Rezept ansehen, editieren, löschen. Wir haben überlegt, das mit einer ArrayList zu realisieren. Dabei würde dann jedes Listenelement für einen Cocktail stehen. Die Frage ist nur, wie man dann auf die einzelnen Elemente zugreifen kann, um z.B. Zutaten direkt in dem Element abzuspeichern bzw. dem Element zuzuweisen.???:L
Vielen Dank schonmal :)
 

x22

Bekanntes Mitglied
Kannst auch mit ner erweiterte for-Schleife durchlaufen und mit ner if-Abfrage rausfiltern.
Post mal deinen Code hier rein..
 

DieDreiJavas

Mitglied
Wir haben uns das so gedacht:
Java:
// Liste erzeugen

List<String> liste = new ArrayList<String>();
liste.add ("SexOnTheBeach");
liste.add("Caipi");
system.out.println (liste);
___________________________________________________________

WIe wir Objekte ewinfügen und entfernen wissen wir.
Das Problem besteht jetzt darin, dass wir keine Ahnung haben wiw wir auf die einzelnen Objekte zugreifen können, bzw den einzelenen Objekten noch Attribute(Zutaten der Cocktails) zuweisen können.

Sprich ein Cocktail besteht aus verschiedenen ZUtaten und diese möchten wir jedem einzelenen noch zuweisen, so dass automatisch nach Aufruf des Objekts aus der Liste ( also dem Cocktail) die Zutaten die wir dem Cocktail zuweisen wollen ebenfalls mit aufgerufen werden.
 

faetzminator

Gesperrter Benutzer
Aber Achtung, wenn du mit einer erweiterten for-Schleife (auch for-each genannt) eine durch eine Liste iterierst, wird im Hintergrund ein Iterator verwendet. Solange man mit einem Iterator über eine Liste iteriert, kann diese nicht (bzw. nur durch den Iterator) angepasst werden.
Somit kannst du zumindest im delete Case (wenn du irgendwas suchen willst) keine for-each Schleife verwenden.
 

Michael...

Top Contributor
Eine List mit String ist in dem Fall ja sinnfrei. Definiert doch eine Klasse Cocktail, die alle Zutaten und Eigenschaften eines Cocktails verwalten kann und arbeitet mit einer
Code:
List<Cocktail> cocktailList
 

DieDreiJavas

Mitglied
Also wäre es sinnvoll in diesem Fall eine KLasse "Cocktails" zu erstellen. In dieser Klasse erstellen wir dann Objekte welche zum Beispiel "Sex On The Beach", "Caipi" , etc. heissen. Diesen Objekten geben wir dann die verschiedenen Attribute wie Zutaten und Mengen und Zubereitung.
Nur wie kann man dann auf die jeweiligen Objekte zugreifen, um die Attribute einzugeben? Also nicht die Liste durchlaufen, sondern halt z.B. gezielt nach einem Objekt (z.B. "Caipi") suchen, um es zu editieren?
Oder ist das Ganze überhaupt so möglich Oo???
 

faetzminator

Gesperrter Benutzer
Du kannst eine [c]Map<String, Cocktail>[/c] erstellen, damit kannst du in Laufzeit [c]O(1)[/c] dann auf ein beliebiges Objekt zugreifen, sofern du den Key (den String) hast.
 

Moon93

Mitglied
Hallo Zusammen,

auch ich rate dazu eine eigene Klasse Cocktail zu erstellen.
Aber das wurde ja bereits gesagt.

Meine Frage wäre, wieso du denn unbedingt direkt auf das Element zugreifen willst.
Wenn du die Cocktail-Elemente in einer Linearen Liste verwaltest, kannst du doch auch jedes Element durchsuchen.

Natürlich ist die Laufzeit nicht optimal, aber ich glaube das ist bei euren Datensätzen nicht wirklich ein Problem.
Ist so meiner Meinung nach einfacher zu implementieren.

Gruß Moon93
 

x22

Bekanntes Mitglied
Achtung: Über eine Map kannst du dann nichtmehr iterieren. Ist klar sinnvoller eine neue Klasse zu erstellen, dann kannst du direkt auf n value zugreifen. Ist wohl einfacher.

[EDIT]*einfach iterieren..[/EDIT]

Regards,
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Ich meinte allgemein iterieren, wenn man .values() angibt geht das, vergisst er das geht es nicht.
(Wenn man nur den Namen der map angibt)

Aha :autsch:

Wenn ich vergesse das Array anzugeben, dann kann ich auch nicht drüber iterieren.

Außerdem bekommt man das schon zur compilezeit einen Error?
 

x22

Bekanntes Mitglied
Aha :autsch:

Wenn ich vergesse das Array anzugeben, dann kann ich auch nicht drüber iterieren.

Außerdem bekommt man das schon zur compilezeit einen Error?

Es geht grade aber um den allgemeinen Aufbau einer erweiterten for Schleife, wenn du den wie bei einer ArrayList verfolgst geht das nicht, das Einzige auf was ich mit meinem Post aufmerksam machen wollte.

Wenn du den Klassennamen weglässt funkt. das auch nicht.. sinnloser Post.
 

faetzminator

Gesperrter Benutzer
@x22, wenn du nicht über Maps iterieren willst, wiel sie Iterable nicht implementieren, dann mach doch einfach du das für deine Maps und delegier alle Methoden an [c]values()[/c] ;)
 
V

vanny

Gast
Genau, zurück zum Thema:oops:

wenn du Dir deine eigene Cocktail-Klasse erstellst, kannst du den Key/Namen ja per Konstruktor zuweisen.

Java:
cocktailListe.add(new Cocktail("Caipi", "Zutat1", "Zutat2",..was auch immer));

dann verpasst du deiner Cocktailklasse eine Methode, die den gesuchten Namen abgleicht

Java:
public boolean isTheRightOne(String name){
if(this.name.equals(name)){
return true;
}else{
return false;
}
}

dann kannst du einfach über deine cocktailListe iterieren und bekommst von dem Passenden CocktailObjekt bescheid wenn es das entsprechende ist.

Gruß Vanny
 

x22

Bekanntes Mitglied
ich glaube wir kommen vom thema ab....

joa.. ich mag das nur nicht, wenn Leute..*hust*..ein Post über meinem.. gleich mit so komischen Beispielen kommen und sofort was zu kritisieren haben, aber nichts zum Thema direkt.
Hab nur n Hinweis gegeben, mehr nicht. Da sollte man nicht jedes Wort in einzelne Buchstaben zerlegen und diese durchleuchten nur um seine Postanzahl zu erhöhen.

War nicht meine Intension, von Thema abzuweichen.

@faetzminator: Ich lass das einfach in ner ArrayList stehen :D

Und jetzt zurück zum Thema.
Pseudo-Code wie sowas auszusehen hat:

Java:
public class Article {
	
	int preis;
	String description;
	
	
	public Article(int preis, String description) {
		super();
		this.preis = preis;
		this.description = description;
	}
...


Test-Klasse:

Java:
public class TestArticel {

public static void main(String[] args){
	
	ArrayList<Article> list1= new ArrayList<Article>(5);
	Article art1= new Article(500, "TV");
	Article art2= new Article(50, "Radio");
	Article art3= new Article(100, "Kaffeemaschine");
	Article art4= new Article(300, "Handy");
	Article art5= new Article(600, "Krahn");
		
	list1.add(art1);
	list1.add(art2);
	list1.add(art3);
	list1.add(art4);
	list1.add(art5);
	
	getList(list1);

 }

	public static void getList(ArrayList<Article> list1){
		for(Article article: list1){
			System.out.println(article.getPreis());
			System.out.println(article.getDescription());
		}
	}

So brauchst keine Map, lässt es einfach in der ArrayList drin, auf dein Beispiel anpassen, Fertig.:toll:
Regards,
 
Zuletzt bearbeitet:

Frischling

Neues Mitglied
ich habe das mal nachprogrammiert mit den Cocktails und bei mir funktioniert das richtig gut, obwohl ich noch nicht lange dabei bin!
Danke x22.:applaus:


Grüße Frischling
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
LucasGlockner Effizienter byte-Zugriff auf ein long[]-Array Allgemeine Java-Themen 8
Meldanor Mehrdimensionale Arrays : Zugriff auf n-tes Array Allgemeine Java-Themen 5
M Progblem bei Zugriff auf Array Elemente Allgemeine Java-Themen 4
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
S Java Zugriff auf Netzwerklaufwerk Allgemeine Java-Themen 1
sascha-sphw Java 9 module Zugriff auf eine resource einer anderen JAR Allgemeine Java-Themen 0
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
W Zugriff auf Objektvariablen vs. Übergabe Allgemeine Java-Themen 3
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
Tommy Nightmare HTTP Zugriff auf Internetseite im Loginbereich Allgemeine Java-Themen 5
H Zugriff auf PHP Allgemeine Java-Themen 4
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
O JNA Zugriff auf Funktion aus DLL Allgemeine Java-Themen 0
O Zugriff auf Windows Zertifikatstore Allgemeine Java-Themen 2
M Kein Zugriff auf microSD Karten Allgemeine Java-Themen 4
T Zugriff auf Datenbank Allgemeine Java-Themen 1
J Zugriff auf IMAP GMail Konto scheitert. Allgemeine Java-Themen 2
P Frontend- Zugriff auf WS- Backend Allgemeine Java-Themen 0
U Zugriff auf Datei sperren Allgemeine Java-Themen 5
N Best Practice Semi-Synchronized Zugriff Allgemeine Java-Themen 0
C Zugriff auf Event felder Allgemeine Java-Themen 0
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
F Zugriff Verweigert bei Kopieroperation? Allgemeine Java-Themen 4
T JNI: kein Zugriff auf VM in Callback-Methode eines Windows-Hooks Allgemeine Java-Themen 3
S Dynamischer Zugriff Allgemeine Java-Themen 4
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
E Zugriff auf Dateien im Filesystem überwachen Allgemeine Java-Themen 5
H Programierstil: static - Zugriff vs. Staticzugriff Allgemeine Java-Themen 24
V Zugriff auf den Objekterzeuger? Allgemeine Java-Themen 4
M Zugriff zweier Threads auf diesselbe Methode Allgemeine Java-Themen 16
B Zugriff auf eine HashMap Allgemeine Java-Themen 4
B JApplet Zugriff auf Local Storage des Browser? Allgemeine Java-Themen 2
M gleichzeitiger Zugriff auf eine Textdatei Allgemeine Java-Themen 6
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
J XML Element Zugriff Allgemeine Java-Themen 4
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
M Klassen Zugriff auf getMethode ohne Klasse zu erzeugen Allgemeine Java-Themen 6
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
H Vererbung Abgeleitete Klassen und Zugriff Allgemeine Java-Themen 2
C Probleme mit dem Zugriff auf private Methode per reflection Allgemeine Java-Themen 2
J Zugriff auf Poker-Client Fenster Allgemeine Java-Themen 14
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
S Zugriff auf innere Klasse Allgemeine Java-Themen 3
D Kein Zugriff auf WebService ausser localhost Allgemeine Java-Themen 4
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2
J Zugriff auf Dateien auf einem shared Folder? Allgemeine Java-Themen 3
H Zugriff auf VBA in Java Allgemeine Java-Themen 2
Haave Audio Device Unavailable: Kein gleichzeitiger Zugriff auf Soundsystem möglich Allgemeine Java-Themen 7
G Letzter Zugriff auf Datei Allgemeine Java-Themen 5
C java.io.FileNotFoundException: (Zugriff verweigert) Allgemeine Java-Themen 14
O Zugriff auf Serielle Schnittstelle - Keine Ports gefunden. Allgemeine Java-Themen 8
C Webstart: Zugriff auf lokale Dateien? Allgemeine Java-Themen 2
X Zugriff auf ComboBoxen in Hauptklasse von zweiter Klasse aus Allgemeine Java-Themen 8
J Zugriff auf gemeinsame Funktionen Allgemeine Java-Themen 4
Airwolf89 Zugriff auf ArrayList<ArrayList> Allgemeine Java-Themen 3
Airwolf89 Zugriff auf Werte in ArrayList<ArrayList> Allgemeine Java-Themen 4
T Zugriff zwischen Klassen für repaint Allgemeine Java-Themen 7
N Zugriff auf eine Referenzvar. Allgemeine Java-Themen 3
S Zugriff auf Klasse Allgemeine Java-Themen 4
E JNA:Zugriff auf Common-Block von Fortran bzw. Struct in C Allgemeine Java-Themen 2
T Zugriff auf Singleton verkürzen - Namespaces?? Allgemeine Java-Themen 20
L Zugriff auf ein Objekt mit mehreren Threads Allgemeine Java-Themen 11
Airwolf89 dynamischer Zugriff auf Variablen/ Objekte Allgemeine Java-Themen 4
S Zugriff auf einzelne Bildpunkte Allgemeine Java-Themen 3
D Referenzen weiterreichen vs. statischer Zugriff Allgemeine Java-Themen 3
V Zugriff auf Default-Package? Allgemeine Java-Themen 6
P RegeEx-Problem: Zugriff auf group Allgemeine Java-Themen 2
M Zugriff auf Parallel-Schnittstelle Allgemeine Java-Themen 2
B Zugriff mit einem Applet auf den Datenträger Allgemeine Java-Themen 11
S Innere Klasse: Zugriff auf äußere Variable Allgemeine Java-Themen 5
I Zugriff auf Daten Allgemeine Java-Themen 5
T Zugriff per Reflection o.ä. möglich? Allgemeine Java-Themen 18
D Zugriff auf Windows Dienste Allgemeine Java-Themen 7
G Zugriff auf Memberclasses einer geladenen Class-Datei Allgemeine Java-Themen 2
I Gleichzeitiger zugriff auf ein Long über Threads Allgemeine Java-Themen 2
P Wieso HashMap-Zugriff mit Object, statt mit MyObject? Allgemeine Java-Themen 12
J Kein Zugriff auf Klassen im Default Package Allgemeine Java-Themen 8
M Paralleler Zugriff auf statische Methode Allgemeine Java-Themen 5
S Zugriff auf unterschiedliche JREs Allgemeine Java-Themen 7
M "Unzulässiger Zugriff auf einen Speicherbereich" Allgemeine Java-Themen 7
A Zugriff auf Parallelport nur über Eclipse nicht über .jar ! Allgemeine Java-Themen 12
G Zugriff auf ein sama share Allgemeine Java-Themen 8
J Java zugriff auf Exchange Server Allgemeine Java-Themen 10
D eclipse: Zugriff auf Ordner per code Allgemeine Java-Themen 4
O Konkurrierender Zugriff auf Log-Datei mit Log4J Allgemeine Java-Themen 11
Caracasa [Threads] Gleichzeitiger Zugriff auf eine LinkedList Allgemeine Java-Themen 9
L Zugriff auf Objekt das sich in einer Liste befindet Allgemeine Java-Themen 2
J Zugriff auf den Namen einer Variablen Allgemeine Java-Themen 7
J Zugriff auf Map in anderer Klasse Allgemeine Java-Themen 2
J Endlosschleife durch wechselseitigen Zugriff zweier Klassen? Allgemeine Java-Themen 2
F Zugriff auf lokalen Rechner wer weiss Rat ? Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben