Ankündigung

Einklappen
Keine Ankündigung bisher.

Java ArrayList Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Java ArrayList Frage

    blöde frage. ich hab eine arraylist mit z.b. [5, 4, 3, 2, 1]
    Wie lösche ich nun z.b. die 4 raus?

    Weil die Methode remove der ArrayList kann entweder einen int index oder ein object übergeben bekommen.

    Wenn ich nun
    x.remove(4) machen würde, würde er 1 löschen

    Wenn ich mache
    String del = ""+4;
    x.remove(del)
    löscht er es irgendwie au net raus, obwohls durch den String eigentlich ein Object werden müsste?

    Weiß einer vielleicht was?

    #2
    mit x.remove(1) versuchen wenn er bei x.remove(4) die 1 löscht weil sie an 4ter stelle steht?

    Kommentar


      #3

      for( i=0;i

      Kommentar


        #4
        Da du Integer gespeichert hast bringt es dir nichts ein String zu übergeben. Wenn du die Indexe weist, mit index löschen. Wenn nicht, über das array iterieren, mit dem gewünschten wert vergleichen und dann an der aktuellen iterator position löschen. Was anderes macht das Arraylist selbst auch nicht wenn du ein Objekt übergibst.

        Kommentar


          #5
          pTk Q postete
          mit x.remove(1) versuchen wenn er bei x.remove(4) die 1 löscht weil sie an 4ter stelle steht?
          hätt ich jetzt spontan auch gesagt, da array zugriffe, soweit ich das noch weiss, immer über die stelle im array, nicht über den wert, funktionieren.
          (wäre ja auch blöd, weil ja mehrere vieren im array stehen können)

          Kommentar


            #6
            http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html

            Kommentar


              #7
              Dynamisch -->

              [quote]ponzi postete

              for( i=0;i

              pTk Q postete
              mit x.remove(1) versuchen wenn er bei x.remove(4) die 1 löscht weil sie an 4ter stelle steht?
              In dem fall -? +! ist richtig was du geschrieben hast!

              Nochmal zum Threadersteller:
              F_ postete
              Weil die Methode remove der ArrayList kann entweder einen int index oder ein object übergeben bekommen.
              Wenn ich mache

              String del = ""+4;
              x.remove(del)
              löscht er es irgendwie au net raus, obwohls durch den String eigentlich ein Object werden müsste?
              In dem Falle ist ein String Object etwas "anderes". Kurze Erläuterung:
              java.lang.Object ist die Basisklasse der Java-Klassenhierarchie. Implizit ist sie Oberklasse aller Java-Klassen, d. h., alle Objekte besitzen die hier aufgeführten Methoden.

              --> Objekte welche für "String"-Methoden aufgelistet sind lauten:
              public String toString()
              Liefert den Namen und den Hashcode des Objekts.


              Ein anderes Objekt außer dieses kann die ArrayList nicht akzeptieren.
              Integer ist kein Problem da eine ArrayList eine Liste ist und Listen nunmal irgendwie Werte für's Auflisten benötigen, da ist Integer eine nützliche hilfe.

              Ich hoffe, ich und die anderen haben dir ein wenig geholfen.

              MfG
              nexius

              Kommentar


                #8
                Danke für die hilfreichen Antworten, habs nun hingebogen mit equals, get und einer schleife.

                Kommentar


                  #9
                  noch eine dumme frage:

                  if (rest.get(y) != largestNode)

                  largestNode ist ein int ... wie vergleiche ich die beiden am besten. sprich ich muss entweder .get(y) zum int machen, oder was weiß ich, dass sie eben vergleichbar werden.

                  Wäre meine letzte Frage denke ich. ^^

                  Kommentar


                    #10
                    if ( ((int)rest.get(y)) != largestNode)

                    Kommentar


                      #11
                      genau casten ;) da war ponzi schneller ^^

                      Kommentar

                      Lädt...
                      X