WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   java Array in dem man mehr namen speichern kann (http://www.wcm.at/forum/showthread.php?t=166113)

fenster 17.05.2005 10:03

java Array in dem man mehr namen speichern kann
 
hallo

probbier jetzt schon einige zeit herum
aber schaffe es nicht in java ein array anzulegen
in dem ich zb.: 20 namen speicher kann

die ich duch eine for schleife (arrayfelder füllen) eingeben kann


PHP-Code:

public static void main(String[] argsthrows IOException {

            
BufferedReader sysin 
            new 
BufferedReader (new InputStreamReader(System.in));        

            for (
int v 20 v++){
            
System.out.println("bitte namen eingeben;");
            
String name = (sysin.readLine());
                  
String[] texte = new String[] {name};
                  
System.out.println(texte[0]);
            
System.out.println(texte[1]); 
                  } 


das array sollte zb.: 20 namen aufnehmen können
und diese dann wieder ausgeben können

vielleicht kann mir wer weiterhelfen



gruß
fenster

jak 17.05.2005 11:31

Was du machst ist folgendes:
Du legst 20 mal ein Array der Größe 1 an das name enthält.

Was du willst: ein Array der größe 20 anlegen, das die namen aus der Schleife enthält also:
Code:

String[] texte = new String[20];
for (int v = 0 ; v < 20 ; v++){
  System.out.println("bitte namen eingeben;");
  String name = (sysin.readLine());
  texte[i]=name;
  System.out.println(texte[i]);
}

Jak

fenster 17.05.2005 17:09

@jak danke funzt
 
hallo


danke für deine hilfe

jetzt funzt es

ein kleines prob habe ich damit noch
das ding ist nicht dynamisch erweiterbar
in java gibt es container

wie würde das beispiel mit einem container
assehen



gruß
fenster

Tarjan 17.05.2005 17:46

ArrayList ist dynamisch erweiterbar.
Einfach mit new ArrayList() anlegen und danach mit add(Object) befüllen.

jak 17.05.2005 18:55

Ich verwende dazu meistens Vector.
@Tarjan: Was ist der Vorteil von ArrayList?
Code:

import java.util.Vector;
class xyz{
  public static void main(String[] args) throws IOException {
    BufferedReader sysin = new BufferedReader (new InputStreamReader(System.in));
    Vector texte=new Vector(20);
    for (int v = 0 ; v < 20 ; v++){
      System.out.println("bitte namen eingeben;");
      String name = (sysin.readLine());
      texte.add(name);
      //oder: texte.set(i,name);
      System.out.println(texte.get(i));
    }
  }
}

Btw.: Recht brauchbare Java Bücher für Anfänger:
Java ist auch eine Insel, unter: http://www.galileocomputing.de/openbook/javainsel4/

Hanspeter Mössenböck, Sprechen sie Java, dpunkt.verlag, 2001, ISBN 3-89864-117-1
Und die Quelle: JavaDoc unter http://java.sun.com/j2se/1.5.0/docs/api/

Jak

hewlett 17.05.2005 20:15

Zitat:

Original geschrieben von jak
[b]Ich verwende dazu meistens Vector.
@Tarjan: Was ist der Vorteil von ArrayList?
Vector stammt glaub ich noch aus älteren Java Zeiten (JDK 1.0 oder so), glaub aber das das mittlerweile intern auf ArrayLists basiert. Kommt glaub ich aufs gleiche raus! Ich verwend eigentlich immer die ArrayList.

jak 17.05.2005 21:41

Danke für die Info.
Sind zwei getrennte Dinge:
Code:

public class Vector<E>
    extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, java.io.Serializable

Code:

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable{

Habe jetzt keine Lust mir den ganzen Code durchzulesen, anscheinend hat die Vector Klasse aber mehr Codezeilen als ArrayList (1020 vs. 590) kann aber auch an den Kommentaren liegen (und sagt natürlich nichts darüber aus wie sie funktionieren, ich hab aber keine Lust mich in den Quellcode einzulesen).

Jak

Who-T 18.05.2005 05:26

As of the Java 2 platform v1.2, this class has been retrofitted to implement List, so that it becomes a part of Java's collection framework. Unlike the new collection implementations, Vector is synchronized.

Javadoc fuer Vector

"This class is roughly equivalent to Vector, except that it is unsynchronized."

Javadoc fuer ArrayList

abgesehen davon hat Vector das "alte" interface (enumerations, elementAt), ArrayList das neue (iterators, get).

Who-T 18.05.2005 05:26

[doppelpost]

Tarjan 18.05.2005 07:29

Wie schon gesagt, ArrayList wurde mit dem neuen Collection Framework eingeführt, Vector stammt noch von Java 1.0. An sich sind beide Gleichwertig, nur der wirklich große Unterschied und auch entscheidend für die Wahl ist, dass Vector synchronized ist, ArrayList hingegen nicht. Somit ist eine ArrayList immer schneller als ein Vector, andererseits kommt man bei der Verwendung von mehreren Threads nicht um einen Vector herum.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag