LaufIndex

Status
Nicht offen für weitere Antworten.

brot

Mitglied
Guten Abend,

ich habe folgendes Problem/Frage und bin fuer jede Hilfe dankbar.
Ich will eine LinkedList erstellen, allerdings soll die Referenz auf sie, mit welcher ich sie ansprechen möchte eine Zahl beinhalten.

Code:
LinkedList sub1 = new LinkedList();
geht ohne Porbleme. Ich versuche aber eine

Code:
 LinkedList sub+u = new LinkedList();
zu erstellen, wobei u (bei z.b. jedem Schleifendurchgang oder ähnlichem) einen neuen Wert zugewiesen bekommt und demnach die neue Liste ebenso.

Die Problem ist nur wie ich das meinem Kompiler kredenze, so dass er es schluckt und verdaut und nicht gleich wieder auskotzt und meckert.....

merci,

brot
 

Wildcard

Top Contributor
Du kannst Variablen nicht variabel anlegen, sowas geht nicht.
Genau dafür gibt's ja Listen :wink:
Was spricht dagegen Listen in eine Liste zu packen?
 

brot

Mitglied
sprich sone art Listenarray? Habe eine _ober_Liste und füge keine Werte ein sondern Listen die jeweils nur 1 Element enthalten? Muss ich da von der Syntax auf was bestimmtes achten?
thx anyway

brot
 

brot

Mitglied
noch eine Frage bzgl. diesem Listenzeugs ;)

Ich habe ein Array. In diesem Array ist auf z.b. array[2] eine liste von java.lang.Objects abgelegt. also array[2] = [hallo, brot, 22];

In meinem Programm will ich nun ein neues Object hinzufuegen. Wenn dieses neue Object.hashCode() = 2 ist. soll es in die dort vorhandene Liste mit den Elementen [hallo, brot, 22] eingefuegt werden sodass dann [hallo, brot, 22, 'X']; dabei rauskommt.

mein bisheriger ansatz sieht wie folgt aus

Code:
// falls array an position schon belegt ist, wird neue Liste angelegt, die bisherige eingefuegt und der uebergebene value 

if(array[position] != null) {
	LinkedList l = new LinkedList();
	l.add(list[position]);
	l.add(value);
}

// wenn noch nicht belegt:

else {

LinkedList sub = new LinkedList();
sub.add(value);
array[position] = sub;

}

das ist eigentlich alles ganz schön, nur will ich eben nicht, dass in die neue LinkedList l eine liste eingefuegt wird, sondern nur die in ihr enthaltenen Objecte. Und alle ListenMethoden kann ich auf array[position] (wo eine liste abgelegt ist!!!) nicht anwenden weil mein Compiler sonst meckert. Sonst könnt ich schon mit getFirst() oder sonst einer Methode an meine Objecte rankommen.

Jemand einen Verdacht bzw. Lösungsvorschlag? Wäre dankbar.

brot
 

Leroy42

Top Contributor
Code:
if (array[position] != null) { 
   LinkedList l = new LinkedList(); 
   l.add(list[position]); 
   l.add(value); 
}

... und was passiert nun mit deiner lokalen Liste L?

Sollte sie nicht an array[position] zugewiesen werden?

Und was ist jetzt list[position]? Sollte das nicht die bisherige
Liste array[position] sein?

Meine Vermutung: Du willst eher sowas

Code:
if (array[position] == null)
    array[position] = new LinkedList();
array[position].add(value);
 
J

java neulinng

Gast
Wie kann ich den index eines Arrays herausfinden

ich hab im actionlistener ins object obj den gedrückten button hineingespeichert also volgendermaßen:
Object obj=e.getSource();

da ich jetz ein array von buttons habe also von b[0] bis b[49] will ich wissen welchen index obj hat ist das mit irgendeiner methode möglich ?? gibt es einen ganz einfachen lösungsansatz dafür???.

danke im voraus für die hilfe cu.
 

Marco13

Top Contributor
Entweder, die Buttons in eine ArrayList (oder so) packen, und dann sowas wie
Code:
ArrayList buttons = .... (50 Buttons)

public void actionPerformed(ActionEvent e)
    int index = buttons.indexOf(e.getSource());
    if (index != -1) {...}
}
oder eine Methode dafür selbst schreiben
Code:
private static int indexOf(Object array[], Object object)
{
    for (int i=0; i<array.length; i++)
    {
        if (array[i] == object)
        {
            return i;
        }
    }
    return -1;
}
...
Button button[] =  .... (50 Buttons)
...
    int index = indexOf(buttons, e.getSource());
 

Leroy42

Top Contributor
Da gibt es keine Extra-Methode.
Einfach den Array durchlaufen und abfragen:

Code:
int index = -1;
for (int i=0; i <= 49; ++i)
  if (b[i] == obj) {
    index = i;
    break;
  }
if (index != -1)
  // Element gefunden...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Array und Laufindex Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben