LoginSignup
0
1

More than 5 years have passed since last update.

【Java】2つのListから1つの配列リストへ

Posted at

はじめに

積み上げ棒グラフを作るのにタイトルのことをやる必要があるので検証しました。
最初はクラス固定で実装しましたが、ジェネリクスを使って汎用的にしようとしたら躓いたので忘れないようにメモ。

環境

java8

ソース

2つのIntegerのリストからInteger配列の1つのリストへ
2つのリストはサイズが同じ前提です。

Integer版
private List<Integer[]> convertTwoListToArray1(List<Integer> list1, List<Integer> list2) {
    List<Integer[]> list = new ArrayList<>();
    for (int i = 0; i < list1.size(); i++) {
        list.add(new Integer[] { list1.get(i), list2.get(i) });
    }
    return list;
}

  
  
汎用的にしようとしたジェネリクス版がこちら

ジェネリクス版
@SuppressWarnings("unchecked")
private <T> List<T[]> convertTwoListToArray2(List<T> list1, List<T> list2) {
    List<T[]> list = new ArrayList<>();
    for (int i = 0; i < list1.size(); i++) {
        Object[] tmpArray = new Object[] { list1.get(i), list2.get(i) };
        list.add((T[]) tmpArray);
    }
    return list;
}

最後に

ジェネリクスの配列が作れなくて躓いたけど、Objectの配列をキャストすることで解決しました。

以上

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1