下記のようなコードで、APIからjsonを取得し、それを配列に格納しました。

SWIFTコード

var movieList: [[String: AnyObject]] = []

func sample() {
        Alamofire.request(.GET, "http://123456789").validate().responseJSON { response in
            switch response.result {
            case .Success:
                if let value = response.result.value {
                    let json = JSON(value)

                    for (key, _):(String, JSON) in json["movies"] {
                        for (key2, _):(String, JSON) in json["movies"][key] {
                            for (_, subJson3):(String, JSON) in json["movies"][key][key2] {
                                let movieList: [String: AnyObject] = [
                                    "id": subJson3["id"].int!,
                                    "title": subJson3["title"].string!,
                                    "published_year": subJson3["published_year"].string!
                                ]
                                self.movieList.append(movieList)
                            }
                        }
                    }
                    self.tableView.reloadData()
                }
            case .Failure:
                print("情報を取得できませんでした。")
            }
        }
}

JSONデータ

{
  "movies" : {
    "2015" : {
      "1" : [
        {
          "id" : 111,
          "title" : "タイトル1",
          "published_year" : "2015",
        }
      ],
      "6" : [
        {
          "id" : 222,
          "title" : "タイトル2",
          "published_year" : "2015",
        }
      ]
    },
    "2008" : {
      "3" : [
        {
          "id" : 333,
          "title" : "タイトル3",
          "published_year" : "2008",
        },
        {
          "id" : 444,
          "title" : "タイトル4",
          "published_year" : "2008",
        }
      ],
    },
    "2016" : {
      "1" : [
        {
          "id" : 555,
          "title" : "タイトル5",
          "published_year" : "2016",
        },
        {
          "id" : 666,
          "title" : "タイトル6",
          "published_year" : "2016",
        }
      ]
    }
  }
}

movieListの配列データの中身

var movieList: [[String: AnyObject]] = [["id": 111, "title": タイトル1, "published_year" : 2015], ["id": 222, "title": タイトル2, "published_year" : 2015], ["id": 333, "title": タイトル3, "published_year" : 2008], ["id": 444, "title": タイトル4, "published_year" : 2008], ["id": 555, "title": タイトル5, "published_year" : 2016], ["id": 666, "title": タイトル6, "published_year" : 2016]]

このデータからtableViewを年ごとのsectionに分けて、titleをrowに格納することは可能でしょうか?
要するに下記の画像のようにしたいです。

画像の説明をここに入力

もしくは、下記のような辞書型を作った方が良いのでしょうか?

var movieList: [String: [String: AnyObject]] = [
2015: [["id": 111, "title": タイトル1, "published_year" : 2015], ["id": 222, "title": タイトル2, "published_year" : 2015]], 2008: [["id": 333, "title": タイトル3, "published_year" : 2008], ["id": 444, "title": タイトル4, "published_year" : 2008]], 2016: [["id": 555, "title": タイトル5, "published_year" : 2016], ["id": 666, "title": タイトル6, "published_year" : 2016]]
]

どういった配列 or 辞書型を作れば、添付画像のようなtableViewを作成することができるのでしょうか。100年分くらいのデータがありますので、変数を100年分作成するのは避けたいと思っております。