、配列、Javaのコレクションおよびその逆のにコレクションの
配列を変換するためにいくつかのエレガントな方法を提案してください。のJava:コレクションのコレクションに配列の配列を変換し、その逆
Java APIには便利なメソッドはありません
public static <T> T[][] nestedCollectionsToNestedArrays(
Collection<? extends Collection<T>> source){
// ... ?
}
public static <T> Collection<Collection<T>> nestedArraysToNestedCollections(
T[][] source){
// ... ?
}
追加質問:
プリミティブ型のネストされた配列とは何ですか?
禁止タイプの は、ジェネリックアレイの作成のため、各プリミティブタイプのメソッドを宣言する必要がありますか?
public static <T> Collection<Collection<T>>
nestedArraysToNestedCollections(T[][] source) {
Collection<Collection<T>> ret = new ArrayList<Collection<T>>();
for (int i = 0; i < source.length; i++) {
// could be ret.add(new ArrayList<T>(Arrays.asList(source[i]));
Collection<T> list = new ArrayList<T>(source[i].length);
for (int j = 0; j < source[i].length; j++) {
list.add(source[i][j]);
}
}
return ret;
}
他の方向はかなりトリッキーです:ここでは
拡張forループで何が問題になっていますか? –
何もありませんが、これがライブラリメソッドになるかどうかはわかりましたが、少し速い方法で行うこともできます。もちろん、強化されたforループは将来的にはより早く終了するかもしれないので、これは一種のものです。 –