2011-10-28 14 views
26

Java'ya yeni başladım ve biraz yardıma ihtiyacım var.ArrayList Java'ya Ekleme

Dizeleri B. bir Arraylist için ilişkili bir liste olan bir Özet Veri türü Foo dönüştürmek çalışıyorum. Listeye nasıl döngü ve her dizeyi diziye ekleyin.

Düşünüyorum, ama şimdi kayboldum.

Yardımlarınız için şimdiden teşekkür ederiz.

+4

Sorun – Steven

+1

@Steven yaşıyorsanız nerede bize kod parçalarını göstermek lütfen : Kesinlikle katılmak. Tam olarak ne yaptığını bilmek zor. – Akron

cevap

4

Sen böyle bir şey yapmak mümkün olmalıdır:

ArrayList<String> list = new ArrayList<String>(); 
for(String s : foo) 
{ 
    list.add(s); 
} 
35

yeni ArrayList Instantiate: üzerinde döngü için ile veri yapısı üzerinde

List<String> myList = new ArrayList<String>(); 

Yineleyin (örneğin, daha fazla ayrıntı senin kod yardımcı olur.) ve her bir öğe için (sizinElement):

myList.add(yourElement); 
+2

Java'nın en son sürümlerinde bence, ikinci kez bir tür belirtmeniz gerekmiyor: 'List myList = new ArrayList <>();' –

1

soyut tipinizi kandırın ve bu nesnede mevcut olan yöntemlere bağlıdır. ArrayList'te döngü yapmak zorunda değilsiniz çünkü bu nesne Java'da otomatik olarak büyür. (Diğer programlama dillerindeki bir dizi ile karıştırmayın)

Tavsiye edilen okuma. Lists in the Java Tutorial

9

varsa 'foo' adlı dize, bir ArrayList, kolayca aşağıdaki yöntemi kullanarak, başka bir ArrayList, 'liste' eklenecek (ekle) olabilir: size don böyle

ArrayList<String> list = new ArrayList<String>(); 
list.addAll(foo); 

Hiçbir şeyden geçmemize gerek yok.

+0

addAll, yalnızca koleksiyonları aldığım için benim durumumda çalışmayabilir. –

+0

Hangi durumda bahsediyorsun? Lütfen daha spesifik ol. –

+0

demek int [] foo = {1,2,3} Bu kod addAll parametrelerini almadığı için kod derlenmez. JDK 1.7. –

0

yardım için teşekkür, benim sorunu hallettim :) başkası ihtiyacı olduğunda kodudur: D

import java.util.*; 

public class HelloWorld { 


public static void main(String[] Args) { 

Map<Integer,List<Integer>> map = new HashMap<Integer,List<Integer>>(); 
List<Integer> list = new ArrayList<Integer>(); 
list.add(1); 
list.add(9); 
list.add(11); 
map.put(1,list);   

    int First = list.get(1); 
    int Second = list.get(2); 

    if (First < Second) { 

     System.out.println("One or more of your items have been restocked. The current stock is: " + First); 

     Random rn = new Random(); 
int answer = rn.nextInt(99) + 1; 

System.out.println("You are buying " + answer + " New stock"); 

First = First + answer; 
list.set(1, First); 
System.out.println("There are now " + First + " in stock"); 
}  
} 
}