2011-08-02 28 views
5

Ben smooks yeni başlayan biriyim. Bir sorunla karşı karşıyayım. Bu java-java dönüşümü. Bir listem var ve bunun içinde 2 nesneli bir iç listeye sahibim. Smooks'taki listeyi listelemek için list.list nasıl elde edebilirim?Listelerde listelemek için list.list nasıl elde edilir

+0

@JB:

İşte
public List<Object> extractEmbeddedList(List<List<Object>> embeddedList) { List<Object> extractedList = new ArrayList<Object>(); for (List<Object> l : embeddedList) { for (Object o : l) { extractedList.add(o); } } return extractedList; } 

kullanılmakta olan bir örnektir. Teşekkürler java – shree

+1

altında eklenmiş bir etiket oluşturmak mümkün değildi Ne denediniz ve neden yapmaya çalıştığınız bir örnek ekleme hakkında, o zaman cevap vermeye çalışıyorum olanlar başlatmak için bir yer var – nuzz

cevap

0

smooks'un bunu söyleyebildiğinden, bunu sağlayan bir yöntemi yoktur. Bununla birlikte, listelerin üzerinde yineleme yaparak ve içeriği yeni bir listeye çıkararak bunu başarabilirsiniz.

Örneğin, bunu yapmak için bir işlev tanımlayabilirsiniz:

List<List<Object>> embeddedList = new ArrayList<List<Object>>(); 
    List<Object> someEmbeddedObjects = new ArrayList<Object>(); 
    List<Object> moreEmbeddedObjects = new ArrayList<Object>(); 
    List<Object> normalList = new ArrayList<Object>(); 

    someEmbeddedObjects.add("I'm a String!"); 
    someEmbeddedObjects.add("I'm another String!"); 

    moreEmbeddedObjects.add(5); 
    moreEmbeddedObjects.add(6); 

    embeddedList.add(someEmbeddedObjects); 
    embeddedList.add(moreEmbeddedObjects); 

    normalList = extractEmbeddedList(embeddedList); 

    System.out.println(normalList.toString()); 
    //Output is: [I'm a String!, I'm another String!, 5, 6] 
+0

google guava kütüphane kullanarak, bu sadece Lists.newArrayList (Iterables.concat (embeddedList)) –

+0

Ya da bu çok işe yarıyor :) Google'ın guava kitaplığını kullanmıyorsanız kod aynı sonuca ulaşır – Deco

İlgili konular