Was sollte ich benutzen Vektor oder ArrayList?

Status
Nicht offen für weitere Antworten.

Blase16

Mitglied
Hallo,

ich brauche eine Liste in der Strings gespeichert werden. Dabei sollte beachtet werden das die die Liste entweder, eine feste Größe haben kann oder unendlich groß sein kann. Wenn die Liste eine Feste Größe hat, dann soll beim überschreiten des Limits der erste Eintrag gelöscht werden, der komplette Inhalt rutscht nach links und rechts wird wieder eingefügt. Auf die Liste soll nicht nur per index zugegriffen werden, sie soll auch nach dem Value durchsucht werden. Was sollte ich benutzen? Was ist von der Perfomance besser?

Ich habe momentan die Klasse Vektor genommen und erweitert:
Code:
package de.blase16.jajbof.src;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Collection;
import java.util.Vector;

public class History extends Vector {

    private int initialCapacity;
    private long lastUsedTime;
    private boolean limited;

    public History() {
	super();
	limited = false;
    }

    public History(int arg0) {
	super(arg0);
	limited = true;
	initialCapacity = arg0;
    }

    public void addMessage(String msg) {
	if (limited && elementCount == initialCapacity) {
		removeElementAt(0);
	}
	addElement(msg);
	lastUsedTime = System.currentTimeMillis();
    }

    public long lastUsed() {
	return lastUsedTime;
    }
}

Die Funktion addMessage wird benutzt um neue Elemte hinzufügen.

Gruß
Blase16
 
B

Beni

Gast
Wenn du vorne löschst, sind alle Listen die auf einem Array basieren ungeeignet. Eine LinkedList (bzw. eine Queue) wäre besser.
 

Blase16

Mitglied
Ja aber das Problem ist doch, dass ich per Index auf die Strings zugreifen muss und das dauert doch sehr lange in einer LinkedList.
 
B

Beni

Gast
Was geschieht denn öfters? Wenn du oft schreibst -> LinkedList. Wenn du die ganze Zeit liest -> ArrayList.

Vergiss nicht, dass wenn du den ersten Eintrag löschst, alle anderen Einträge kopiert werden müssen.
 

Ark

Top Contributor
Was soll denn dabei rauskommen, wenn Du nach dem Wert suchst?

Ich würde eine ArrayList<String> anlegen, wo die Strings reinkommen, und eine HashMap<String,Integer>, die den Index auf diesen String in der Liste als Wert enthält.

Wobei mir noch nicht ganz klar ist, wozu man das braucht, was ich gerade geschrieben habe. *g*

MfG
Ark
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
MiMa Was sollte man ins JavaDoc implementieren?? Allgemeine Java-Themen 17
MiMa Wie sollte am besten ein Datum gespeichert werden? Allgemeine Java-Themen 8
R In der Ausgabe sollte anstelle des obersten Sterns ein "+" stehen nur scheitere ich bei der Implementierung Allgemeine Java-Themen 9
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
J wie sollte man sinnvoll seinen Code aufteilen Allgemeine Java-Themen 6
R Input/Output java.io.EOFException, obwohl sie abgefangen sein sollte? Allgemeine Java-Themen 3
DaniSahne96 Threads Code funktioniert nicht wie er sollte Allgemeine Java-Themen 9
R Syntax Error, der keiner sein sollte Allgemeine Java-Themen 12
V Fortbildungen oder Zertifikate in Java die man haben sollte? Allgemeine Java-Themen 17
André B. Was sollte eine Template Engine können? Allgemeine Java-Themen 3
A Warum gibts die Main und was sollte drin stehen? Allgemeine Java-Themen 31
A Weshalb man Parameter auf Gültigkeit prüfen sollte Allgemeine Java-Themen 6
D NullPointerException wo keine sein sollte. Allgemeine Java-Themen 2
P Wieso benutzen PriorityQueues Heaps? Allgemeine Java-Themen 2
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
X Wie kann ich meine Stdlib in Intelliji benutzen? Allgemeine Java-Themen 3
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
dereki2000 Eigenen Zeichensatz benutzen Allgemeine Java-Themen 7
N Jsoup, Links weiter benutzen Allgemeine Java-Themen 5
I Java google Sandbox benutzen Allgemeine Java-Themen 1
Thallius PDF oder Word als Template benutzen Allgemeine Java-Themen 1
K CET-Zeit benutzen Allgemeine Java-Themen 6
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
T .dll in java benutzen aber wie? Allgemeine Java-Themen 4
K Thread richtig benutzen Allgemeine Java-Themen 3
K Event benutzen Allgemeine Java-Themen 4
B Commandline jar mit Java benutzen Allgemeine Java-Themen 11
E Wie mit JNA C++ dll benutzen? Allgemeine Java-Themen 3
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
B MCSCM.dll mit Java benutzen Allgemeine Java-Themen 3
E Wie Constructor mit Parametern benutzen (getConstructor) Allgemeine Java-Themen 2
F Bash Pipe benutzen Allgemeine Java-Themen 4
J Tokenizer benutzen? Allgemeine Java-Themen 2
V Public SVN benutzen? Allgemeine Java-Themen 11
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
Y Wann folgende Technologien benutzen Allgemeine Java-Themen 5
Y Reflection - wie kann ich eine Methode benutzen Allgemeine Java-Themen 4
Y Reflection - wie anwenden/benutzen bei folgendem Problem Allgemeine Java-Themen 3
E Mikrophon benutzen? Allgemeine Java-Themen 4
J MOtherboard Speaker benutzen? Allgemeine Java-Themen 19
G eclipse mit jdk 1.4 und 5 benutzen Allgemeine Java-Themen 10
P DLL Funktion benutzen Allgemeine Java-Themen 3
L Java ohne Installation benutzen? Allgemeine Java-Themen 2
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
S Array wie benutzen? Allgemeine Java-Themen 3
N XInput API (DLL für XBox 360 Controller) mit Java benutzen? Allgemeine Java-Themen 3
L Eclipse VM/JRE für Ant Build benutzen Allgemeine Java-Themen 1
B Fremde Packages benutzen? Allgemeine Java-Themen 11
U Komponente aus grösserem Projet benutzen Allgemeine Java-Themen 4
P Java Subprozess, StdIn und StdOut benutzen Allgemeine Java-Themen 10
G BufferedImage benutzen Allgemeine Java-Themen 6
F JProgressBar benutzen Allgemeine Java-Themen 5
H Zustandsvariable als int global benutzen? Allgemeine Java-Themen 5
G mehrere JPanels als Fenster benutzen Allgemeine Java-Themen 3
F Aus Java heraus WinAPI Funktionen benutzen Allgemeine Java-Themen 7
L java.text.NumberFormat und java.text.DecimalFormat benutzen Allgemeine Java-Themen 2
S private Methoden benutzen Allgemeine Java-Themen 11
A Packet in einem Java-Programm benutzen Allgemeine Java-Themen 4
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2
M Was soll ich benutzen? Java2D, Java3D, Swing, AWT?? Allgemeine Java-Themen 21
I 2D-Grafik Vektor-Grafik über die Zwischenablage nach Adobe Illustrator transferieren Allgemeine Java-Themen 8
I Wie Vektor-Grafik in die Zwischenablage kopieren? Allgemeine Java-Themen 2
C Zeilen-"Vektor" aus Excel-Tabelle suchen Allgemeine Java-Themen 0
R Multiplikation von Matrix und Vektor Allgemeine Java-Themen 5
P Matrix-Vektor Multiplikation Allgemeine Java-Themen 8
P Matrix-Vektor-Multiplikation Allgemeine Java-Themen 25
H Vektor rekursiv erzeugen Allgemeine Java-Themen 2
Zettelkasten Vektor mit Koordinaten erstellen Allgemeine Java-Themen 2
S Vektor in DB speichern Allgemeine Java-Themen 3
O Vektoren in Vektor sortieren aber mit Java 1.4 (!) Allgemeine Java-Themen 4
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
B wird Vektor als Referenz übergeben? Allgemeine Java-Themen 5
M Vektor zusammenfassen Allgemeine Java-Themen 3
D Vektor - bestimmte Werte auslesen. Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben