2010-11-18 15 views
2

Çok basit bir soru, bence. time adlı ArrayList'u nasıl başlatırım.Bir ArrayListini Başlatma

Teşekkürler.

+2

javadocs'i bu tür sorular için kullanın.https: //duckduckgo.com/? Q =! Java + arraylist – zengr

+0

'duckduckgo' komik alan adı –

cevap

9

Bu başlatmak kastın ne olduğuna bağlıdır. sadece yeni bir ArrayList bir referans değeri ile değişken time başlatmak için,

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

(Listede saklamak istediğiniz nesnelerin türü ile String değiştirin.) do

Eğer

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

Ayrıca

ArrayList<String> time = new ArrayList<String>(
    Arrays.asList("hello", "there", "world")); 
yapabileceğini, yapabileceğin listesinde şeyler koymak istiyorum

veya bir örnek başlatıcı

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

'ArrayList time = new ArrayList ();'? Neden "List time = new ArrayList ();'? (Değişkenler mümkün olduğunda arayüzlere işaret etmelidir) –

+2

Ancak OP'nin senaryosunda bunun mümkün olup olmadığını nasıl anlarım? (Belki de şu anda 'time.ensureCapacity (1000)' vardır.) Böyle yeni başlayan bir soruyu neden karmaşıklaştırıyor? – aioobe

1

< 1.5 JDK

List time = new ArrayList(); 

gt veya eşdeğer

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

Bu java 1.4 kodudur. Lütfen 'List time = new ArrayList ();' yerine –

2

Arrays.asList Eğer verilen bir listeden bir List oluşturmak sağlar 1.5 JDK.

Daha sonra Arrays.asList tarafından oluşturulan salt okunur listesini ileterek ArrayList'nu oluşturabilirsiniz.

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

Ama tek ihtiyacınız olan bir List ilan satır içi ise, yalnız Arrays.asList ile gitmek.

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

kullanın. Kurucudan önce, özel int gün gibi öznitelikleri tanımlarım; özel çift saat; – sark9012

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

Böyle bir kod yazmayın. Başkalarının bu şekilde kod yazmasını önermeyin. Yeni olandan önemli ölçüde daha yavaş ... ve 2 kontrol edilmiş istisna ile uğraşmak zorundasınız. (Ve kodunuz istisnalarla ilgilenmediğinden, teknik olarak da yanlıştır.) –

0

Alternatif: Google Koleksiyonları Kullanma

, yazabilirsiniz:

import com.google.collect.Lists.*; 

List<String> time = newArrayList(); 

Hatta olarak List başlangıç ​​içeriğini belirtebilirsiniz aşağıdakiler:

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