0

これを行う方法がわかりません、

私はこれを持っていると言う、

List<SetOfStuff> example = [[a,b,c],[1,2,3],[x,y,z]];
return example;

たとえば、各セットの最初の要素のみを返す方法はありますか?

return [[a],[1],[x]];

またはさらに良い

return [a,1,x];

助けてくれてありがとう

4

2 に答える 2

1

基本的に、次の行でリスト内のセットを定義しています(SetOfStuffはある種のセットだと思います)。

    List<SetOfStuff> example = [[a,b,c],[1,2,3],[x,y,z]];

最初にリストのget()メソッドを使用して要素をexample取得し、次にリストのget()から返される結果を最初の要素に取得する必要があります。リスト内のすべての要素(つまりすべてのセット)にアクセスするには、ある種のループが必要です。以下は、これを行う方法の半擬似コードです。SetOfStuff内の要素にアクセスする方法によって異なります。

    List<Object> firstElements = new List<Object> (); // normally, using Object is not a great idea, but I don't know much about the data in example. Change this accordingly
    for (int i = 0; i < example.size(); i++){ // this iterates over every element in the list
        firstElements.add(example.get(i).getFromSet(0)); // in this, I assume that getFromSet(0) gets the first element from the SetOfStuff object
    }

これはあなたが探しているものの基本的なフォーマットです。ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-03-25T17:47:11.780 に答える
1

SetOfStuffに構造があり、それがPOJOであると述べているgetId()場合、まだメソッドがない場合はメソッドを指定します。次に、

public List<SetOfStuff.ID> extractIds(List<SetOfStuff> stuffList) {
    List<SetOfStuff.ID> ids = new ArrayList<>() // Java 7.
    for((SetOfStuff stuff: stuffList) {
        ids.add(stuff.getId());
   }
    return ids;
}

SetOfStuff.ID必要に応じて、実際のタイプを使用してください。変換メソッドを備えた関数型プログラミングライブラリを検討し、可能な場合はJava8ラムダに移動します。

于 2013-03-25T18:06:19.513 に答える