wollte mal kurz eine ArrayList testen wie das geht:
Code:
ArrayList<String> list = new ArrayList<String>();
String text = "hallo";
for(int i = 0 , i < maxWert.length ; i++)
{
list.add(i, text);
System.out.println(list.get(i));
}
danke, und wie greife ich bei einer ArrayList dann auf einen bestimmten index zu mit .get(); wenn ich nicht weiß an welcher stelle z.B. etwas ist da ich beim adden ja nicht sagen kann wo es hin soll?
meine Anforderung an das Array: seis jetzt Array,ArrayList,Vecotr,HashMap, etc
- die Länge wächst/schrumpft dynamisch mit dem hinzugefügten/entfernten Inhalt
- direkter Zugriff auf bestimmte Elemente der Liste muss gehen
- Geschwindigkeit ist mal nebensächlich hauptsache obige Punkte sind erfüllt.
Ist da ne Hashmap ala:
Code:
HashMap<String> map = new HashMap<String>();
map.put("Hallo);
Bei einer HashMap gibt es keine Methode für einen direkten Zugriff bzw. map.get(i); wobei i= 3 ist z.B.
Das "Array" wird einmal beschrieben mit ca. 500-1000 Strings, danach folgen lediglich abfragen auf das Array wobei es möglich sein muss, dass ich den den index bei position 783 oder 417 direkt kann.
danke, und wie greife ich bei einer ArrayList dann auf einen bestimmten index zu mit .get(); wenn ich nicht weiß an welcher stelle z.B. etwas ist da ich beim adden ja nicht sagen kann wo es hin soll?
Der Index, den du get übergibst, muss einfach <meineArrayList.length() sein
und die Werte werden in der Reihenfolge in der Liste geführt, in der sie
geaddet wurden
danke, und wie greife ich bei einer ArrayList dann auf einen bestimmten index zu mit .get(); wenn ich nicht weiß an welcher stelle z.B. etwas ist da ich beim adden ja nicht sagen kann wo es hin soll?
Der Index, den du get übergibst, muss einfach <meineArrayList.length() sein
und die Werte werden in der Reihenfolge in der Liste geführt, in der sie
geaddet wurden
nein du hast ja als abbruch bedingung <list.size() ... mit dem -1 wuerdest du den letzten gueltigen index vergessen.
ich komme hier ein bisschen durcheinander.
also generell fuer deine anforderungen ist die ArrayList schon das richtige. Beim hunzufuegen wuerde ich auch ohne index erstmal arbeiten, da dieser hier denk ich die Exception wirft ! du willst an einer stelle etwas hinzufuegen die es in der liste nicht gibt. ein einfaches add regelt das selber, dass der index dann existiert, das andere nicht.
und ueber get bekommst du dann den entsprechenden wert.
hashes (ob set oder maps) sind fuer einen indexbasierten zugriff nicht zu nutzen