2011-08-02 9 views
5

私はsmooksの初心者です。私は問題に直面している。これはjava-java変換です。私はリストを持っており、その中に2つのオブジェクトを持つ内部リストがあります。どのように私はsmooksのコピーをリストするlist.listを達成することができますか?smooksでコピーをリストするlist.listを達成する方法

+0

@JB:

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; } 

をここでは、それが使用されている例です。ありがとう、私はタグを作成することができませんでしたので、Javaの下に追加されました – shree

+1

あなたは何をしようとしているの例を追加すると、それをしようとしているどのように答えようとしているどこか開始する – nuzz

答えて

0

smooksには、これを提供する方法がありません。ただし、リストを反復して内容を新しいリストに抽出することで、これを達成できます。あなたは、たとえば、これを行うための関数を定義することができます

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のグアバのライブラリを使用して、単にLists.newArrayList(Iterables.concat(embeddedList)) –

+0

またはそれも動作します:)あなたがGoogleのguavaライブラリを使用しない場合、コードは同じ結果を達成します – Deco

関連する問題