2010-11-18 4 views
2

Question très simple, je pense. Comment initialiser un ArrayList appelé time.Initialisation d'une ArrayList

Merci.

+2

utiliser javadocs pour ces questions.https: //duckduckgo.com/? Q =! Java + arraylist – zengr

+0

'duckduckgo' drôle de domaine –

Répondre

9

Cela dépend de ce que vous entendez par initialize. Pour initialiser simplement la time variable avec la valeur d'une référence à une nouvelle ArrayList, vous

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

(remplacer String avec le type des objets que vous souhaitez stocker dans la liste.)

Si vous veulent mettre des choses dans la liste, vous pouvez faire

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

vous pouvez également faire

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

ou en utilisant une instance initialiseur

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

'ArrayList time = new ArrayList ();'? Pourquoi pas 'Liste time = new ArrayList ();'? (Les variables doivent pointer vers des interfaces dans la mesure du possible) –

+2

Mais comment savoir si cela est possible dans le scénario OP? (Peut-être at-il 'time.ensureCapacity (1000)' ci-dessous.) Pourquoi compliquer les choses pour une telle question débutant? – aioobe

1

< 1,5 jdk

List time = new ArrayList(); 

gt ou équivalent 1,5 jdk

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

Ceci est le code java 1.4. Veuillez utiliser 'Liste time = new ArrayList ();' à la place –

2

Arrays.asList vous permet de construire une List à partir d'une liste de valeurs.

Vous pouvez ensuite générer votre ArrayList en lui transmettant la liste en lecture seule générée par Arrays.asList.

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

Mais si tout ce que vous avez besoin est une List déclarée en ligne, rendez-vous avec Arrays.asList seul.

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

Avant le constructeur, je définis des attributs comme private int day; heures privées doubles; – sark9012

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

N'écrivez pas de code comme ceci. Ne recommande pas d'autres personnes écrire du code comme celui-ci. Il est significativement plus lent que 'nouveau' ... et vous devez gérer 2 exceptions vérifiées. (Et puisque votre code ne traite pas des exceptions, c'est techniquement faux aussi.) –

0

Alternative:

Utilisation de Google Collections, vous pouvez écrire:

import com.google.collect.Lists.*; 

List<String> time = newArrayList(); 

Vous pouvez même spécifier le contenu initial de List comme suit:

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