Queue erweitern

Status
Nicht offen für weitere Antworten.

alicante1986

Mitglied
Hallo, alle zusammen.

Ich bin neu auf der Seite [schild=1 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]java-forum.org[/schild] und hoffe, dass ihr mir bei meinem kleinen Problem helfen könnt.

Ich habe ein Programm geschrieben, dass eine typische Wartschlange nach dem FIFO-Prinzip implementiert. Dazu hier erst mal der Quelltext.


Code:
public class Queue {
	
	public static final int CAPACITY = 1000;
	
	private int capacity;
	
	private int[] Q;
	
	private int f = 0;
	private int s = 0;
	
	public Queue () {
		this(CAPACITY);
	}
	
	public Queue (int cap) {
		capacity = cap;
		Q = new int[capacity];
	}
	
	public int size () {
		return s;
	}
	
	public boolean isEmpty () {
		return (s == 0);
	}
	
	public void enqueue (int element) throws QueueException {
		int r;
		
		if (s >= capacity) {
			throw new QueueException("k.A.");
		} else {
			r = (f + s) % capacity;
			Q[r] = element;
			s++;
		}
	}
	
	public int front () throws QueueException {
		if (s <= 0) {
			throw new QueueException("k.A.");
		} else {
			return Q[f];
		}
	}
	
	public int dequeue () throws QueueException {
		int element;
		
		if (s <= 0) {
			throw new QueueException("k.A.");
		} else {
			element = Q[f];
			f = (f + 1) % capacity;
			s--;
			return element;
		}
	}
}


So nun wollte ich aber die Queue nicht mit einer Exception abbrechen lassen, sondern falls die Queue voll ist, sie in ein neues und größeres Array kopieren. Doch ich komme da irgendwie nicht wirklich weiter.
Außerdem wollte ich mal fragen, ob es möglich wäre verschiede Objekte in der Queue abzulegen, also nicht nur Int sonder auch String oder änhnliche Werte.

Könnt ihr mir da vielleicht weiterhelfen? Wäre echt super.

Danke schon mal.
 

alicante1986

Mitglied
kann ich dass denn so einfach übernehmen? Aber was ist mit meinem Problem mit den verschiedenen Objekten, die meine Queue verwalten können soll?
 
B

Beni

Gast
Och dachte nur, weil ihr fast den identischen Code, und fast die identische Frage hattet...

Joa, das mit dem Kopieren kannst du so übernehmen.

Wegen den Objekten: du kannst einen Object-Array verwenden, dann müssen aber int's in ihren Wrapper "Integer" verpackt werden. Allenfalls schaust du dir auch an wie Generics funktionieren. Ein Array mit Generics kann man zwar nicht erstellen, aber du kannst eine Methode bieten welche gerade den richtigen Typ Objekte zurückgibt (halt mit einem kleinen Cast von Object zu <irgendwas> dazwischen).
 
B

Beni

Gast
Vereinfacht wird dein Code so aussehen:
Code:
public class Stack<E>{
  private Object[] array = ...

  public void enqueue( E e ){
    array[ r ] = e;
  }

  public E dequeue(){
    return (E)array[ f ];
  }
}

Aber ACHTUNG: dazu benötigst du Java 1.5!
 
B

Beni

Gast
<E>

Zum zweiten: das was du halt jetzt mit deinem Q machst. "new Object[ 123 ];" und solches Zeugs...
 

TheDestroyer

Aktives Mitglied
eine Frage. Sitze auch zur Zeit an dem Queue-Problem. Muss ich eine Klasse "QueueException" selber schreiben oder wie mache ich das?
 
B

Beni

Gast
Ja, die gibts nicht vorgefertigt. Ist aber nicht weiter kompliziert zu schreiben, einfach eine Klasse "QueueException" schreiben, die von "Exception" (oder auch "RuntimeException") erbt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
P Priority Queue Performance Java Basics - Anfänger-Themen 3
Chabub Hilfe bei Stacks und Queue Java Basics - Anfänger-Themen 2
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
F Queue zyklisch Java Basics - Anfänger-Themen 8
D Queue vs. Stack Java Basics - Anfänger-Themen 6
L Queue mithilfe von 2 Stacks erstellen Java Basics - Anfänger-Themen 1
B Automatisierung von Jobs / @EJB Scheduler / Verhinderung, dass Queue überläuft Java Basics - Anfänger-Themen 2
A Priority Queue / Comparator Java Basics - Anfänger-Themen 6
J Queue Warteschlange Java Basics - Anfänger-Themen 3
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
Y Unendlicher Ringbuffer (Queue) Java Basics - Anfänger-Themen 49
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
H Collections StackOverflowError in einer Queue Java Basics - Anfänger-Themen 3
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
K Queue enq Fehler Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
A Queue (Array) leeren Java Basics - Anfänger-Themen 1
F HTTP Get Queue Java Basics - Anfänger-Themen 7
J Queue zyklisch auslesen Java Basics - Anfänger-Themen 4
B Generische Queue programmieren Java Basics - Anfänger-Themen 5
T Priority-Queue Java Basics - Anfänger-Themen 9
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
L Queue programmieren via BlueJ Java Basics - Anfänger-Themen 5
B Multithreading und eigene Queue entwickeln Java Basics - Anfänger-Themen 3
I Erste Schritte Queue Java Basics - Anfänger-Themen 14
G Queue auf einer Seite löschen, andre Seite schreiben Java Basics - Anfänger-Themen 3
G Queue mit int oder float Java Basics - Anfänger-Themen 3
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
P Priority Queue Java Basics - Anfänger-Themen 6
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
S Fehler beim Auslösen des ActionListeners in Verbindung mit einer Queue Java Basics - Anfänger-Themen 5
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
B Queue problem! Java Basics - Anfänger-Themen 2
R Queue abhören und Message in Browser ausgeben Java Basics - Anfänger-Themen 3
T Erstellung von Queue mit verkketten listen Java Basics - Anfänger-Themen 3
kulturfenster Stack / Queue Implementationen Java Basics - Anfänger-Themen 11
K Priority Queue - wo ist denn jetzt der Vorteil? Java Basics - Anfänger-Themen 7
W Iterator in Queue Java Basics - Anfänger-Themen 5
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
H Stack und Queue Java Basics - Anfänger-Themen 6
M Threadsichere Queue in Java 1.5? Java Basics - Anfänger-Themen 2
G Int-Queue in String-Queue umwandeln Java Basics - Anfänger-Themen 5
P Queue, Stacks, Listen Java Basics - Anfänger-Themen 7
S Queue als Array implementiert get()? Java Basics - Anfänger-Themen 4
S Queue als verkettete Liste Java Basics - Anfänger-Themen 9
S Queue Java Basics - Anfänger-Themen 30
K Prüfen, ob Queue leer ist Java Basics - Anfänger-Themen 5
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
J GroupLayout zur Laufzeit erweitern Java Basics - Anfänger-Themen 1
B Array bei jeder Eingabe um eins erweitern Java Basics - Anfänger-Themen 3
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
V Array aus Klasse um vererbte Elemente erweitern Java Basics - Anfänger-Themen 3
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
M Ein Programm erweitern, wie? Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
S Array Java erweitern Java Basics - Anfänger-Themen 27
I Vererbung Polygon erweitern ? Java Basics - Anfänger-Themen 4
zhermann String erweitern Java Basics - Anfänger-Themen 4
L Java Kenntnisse erweitern... Java Basics - Anfänger-Themen 10
javaerd Wie kann ich Brute Force Methode mit Strings erweitern Java Basics - Anfänger-Themen 1
M Classpath Befehl zum Kompilieren um die Option classpath erweitern. Java Basics - Anfänger-Themen 5
H Implementierung eines Interfaces erweitern Java Basics - Anfänger-Themen 13
D Datentypen 2 d array erweitern und ins negative gehen. Java Basics - Anfänger-Themen 9
J Listenimplementierung - Wie erweitern? Java Basics - Anfänger-Themen 1
F Erste Schritte If Bedingung in Schleife dynamisch erweitern Java Basics - Anfänger-Themen 4
V Dreidimensionales int Array erweitern/verkleinern Java Basics - Anfänger-Themen 4
A Properties erweitern Java Basics - Anfänger-Themen 2
H Klasse erweitern Java Basics - Anfänger-Themen 20
M Array erweitern ohne Stringbuilder Java Basics - Anfänger-Themen 6
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
HoloYoitsu args-Parameter durchschleifen (Schnittstelle erweitern?) Java Basics - Anfänger-Themen 27
R Polygon erweitern Java Basics - Anfänger-Themen 10
T Vererbung, Konstruktor erweitern Java Basics - Anfänger-Themen 4
E Input/Output Datei immer weiter erweitern Java Basics - Anfänger-Themen 4
L Array um ein Feld erweitern Java Basics - Anfänger-Themen 13
S table erweitern Java Basics - Anfänger-Themen 3
M Array in Methode erweitern und zurückgeben Java Basics - Anfänger-Themen 7
C ImageIcon erweitern Java Basics - Anfänger-Themen 6
L Array erweitern per Methode Java Basics - Anfänger-Themen 5
C OOP Externe Klasse erweitern (ohne Vererbung!!) Java Basics - Anfänger-Themen 8
E Objekt entweder erstellen oder erweitern Java Basics - Anfänger-Themen 4
C xml datei erweitern Java Basics - Anfänger-Themen 3
S Teiler ermittlen - Array erweitern? Java Basics - Anfänger-Themen 14
B EnumSet erweitern ... Java Basics - Anfänger-Themen 25
T array erweitern/flexible ohne collections usw. Java Basics - Anfänger-Themen 3
J Arrays erweitern - Performance vs Speicherverbrauch Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben