Anzeige:
Ergebnis 1 bis 5 von 5

Thema: [JAVA] Wann ist es Sinnvoll eine ArrayList zu nutzen oder einen Vecrot zu verwenden?

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54

    [JAVA] Wann ist es Sinnvoll eine ArrayList zu nutzen oder einen Vector zu verwenden?

    Wann ist es Sinnvoll eine ArrayList oder einen Vecrot zu verwenden?

    Haben diese beiden Sachen überhaupt unterschiede???

    Bei beiden kommt das gleiche Ergebnis raus.

    mfg
    McSnoop

    ArrayList:

    Code:
    import java.awt.*;
    import java.util.*;
    
    public class ArrayList{
         public static void main(String[] args){
            String name = "Eine Zeichenfolge";
            ArrayList al = new ArrayList();
            al.add("Eine Zeichenfolge");
            al.add(new Button("Okay"));
            al.add(new Point(33,33));
            for(int i=0; i<al.size();i++){
              System.out.println(al.get(i));
                if( (al.get(i).getClass().getName()).equals("java.awt.Button"))
                    System.out.println(" Ein Button mit Label: "+ ((Button)al.get(i)).getLabel());
            }
         }
    }

    Vector:

    Code:
    import java.awt.*;
    import java.util.*;
    
    public class VectorDemo{
         public static void main(String[] args){
            String name = "Eine Zeichenfolge";
            Vector v = new Vector();
            v.add("Eine Zeichenfolge");
            v.add(new Button("Okay"));
            v.add(new Point(33,33));
            for(int i=0; i<v.size();i++){
              System.out.println(v.get(i));
                if( (v.get(i).getClass().getName()).equals("java.awt.Button"))
                    System.out.println(" Ein Button mit Label: "+ ((Button)v.get(i)).getLabel());
            }
         }
    }
    Geändert von McSnoop (27-10-2004 um 15:16 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Naja...

    Die Vector-Methoden sind synchronized, die der Arraylist nicht. Bei meheren Threads die am selben Vector arbeiten würd ich Vector nehmen.

    Arraylist ist dadurch ein bisschen schneller, außerdem hat es andere vergrößerungsalgorythmen.
    Geändert von Lin728 (20-08-2017 um 19:13 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    was ist das synchronized?????

    Ist das der einzige unterschied, neben den vergrößerungsalgos??

    mfg
    McSnoop

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmm...

    Synchronized setzte den Monitor auf diese Klasse, während ein Thread in einer Methode des vectors ist, darf kein anderer rein.

    Ist dadurch ein wenig langsamer (fast schon wurscht).
    Geändert von Lin728 (20-08-2017 um 19:13 Uhr)

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Vector stammt noch aus alten (Java 1.0 oder so) Zeiten - mittlerweile basiert das intern aber auf ArrayList. Entsprechend kommts aufs gleiche raus, ich tendiere meist zu ArrayList weil das das nette List-Interface verwendet (da kann man auch einfach mit LinkedList ersetzen, auch wenn die sehr langsam ist )

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •