とある勉強会でコードがほしいと言われたので書いてみます。 DiffUtil 24.2.0で追加された、2つのリストの差分計算を行うユーティリティーです。 計算量がO(N)、移動検知ありだとO(N^2)です。 calculateDiffの結果をdispatchUpdatesTo(adapter)とすることで、RecyclerView.Adapterの各種notify系が呼ばれ、いい感じにアニメーションなどをやってくれます。 使用方法はドキュメントを参照してください。 Diffable DiffUtil.calculateDiffにはDiffUtil.Callbackが必要です。 これをAdapterごとに実装するのは面倒なので、比較可能なアイテムを表すインターフェースとCallbackの実装クラスを定義します。 好みは別れると思いますが、ついでにグローバルスコープ関数も作ります。 inter

