2010-11-18 13 views
2

Sehr einfache Frage, denke ich. Wie initialisiere ich eine ArrayList namens time.Initialisierung einer ArrayList

Danke.

+2

Verwenden Sie Javadocs für solche Fragen.https: //duckduckgo.com/? Q =! Java + Arraylist – zengr

+0

'duckduckgo' lustige Domain –

Antwort

9

Dies hängt davon ab, was Sie mit initialisieren. Um einfach die Variable time mit dem Wert eines Hinweises auf einen neuen ArrayList zu initialisieren, tun Sie

ArrayList<String> time = new ArrayList<String>(); 

(ersetzen String mit der Art der Objekte, die Sie in der Liste gespeichert werden sollen.)

Wenn Sie wollen Sachen in der Liste setzen, Sie

ArrayList<String> time = new ArrayList<String>(); 
time.add("hello"); 
time.add("there"); 
time.add("world"); 

Sie könnten auch

ArrayList<String> time = new ArrayList<String>(
    Arrays.asList("hello", "there", "world")); 
tun tun könnte

oder durch eine Instanz initializer

ArrayList<String> time = new ArrayList<String>() {{ 
    add("hello"); 
    add("there"); 
    add("world"); 
}}; 
+0

'ArrayList time = new ArrayList (); '? Warum nicht? Liste time = new ArrayList (); '? (Variablen sollten wann immer möglich auf Schnittstellen verweisen) –

+2

Aber wie soll ich sagen, ob dies im OP-Szenario möglich ist? (Vielleicht hat er "time.ensureCapacity (1000)" direkt unten.) Warum sollten Sie die Dinge für solch eine Anfängerfrage verkomplizieren? – aioobe

1

< 1.5 jdk

List time = new ArrayList(); 

gt oder eq 1,5 jdk

List<T> time = new ArrayList<T>(); 
+1

Dies ist Java 1.4 Code. Bitte benutzen Sie 'List time = new ArrayList ();' statt –

2

Arrays.asList Sie eine List aus einer Liste von Werten erstellen können.

Sie können dann Ihre ArrayList erstellen, indem Sie die schreibgeschützte Liste übergeben, die von Arrays.asList generiert wird.

ArrayList time = new ArrayList(Arrays.asList("a", "b", "c")); 

Aber wenn alles, was Sie ein List erklärt inline brauchen, gehen Sie einfach allein mit Arrays.asList.

List time = Arrays.asList("a", "b", "c"); 
+0

Vor dem Konstruktor definiere ich Attribute wie private int day; private Doppelstunden; – sark9012

1
ArrayList<String> time = ArrayList.class.newInstance(); 
+2

Schreiben Sie keinen Code wie diesen. Empfehle anderen nicht, Code wie diesen zu schreiben. Es ist deutlich langsamer als "neu" ... und Sie müssen sich mit 2 geprüften Ausnahmen befassen. (Und da sich Ihr Code nicht mit den Ausnahmen befasst, ist es auch technisch falsch.) –

0

Alternative mit:

Mit Google Collections, könnten Sie schreiben:

import com.google.collect.Lists.*; 

List<String> time = newArrayList(); 

Sie auch als die ersten Inhalte von List angeben könnte folgt:

List<String> time = newArrayList("a", "b", "c");