>>589
の原因と教えていただいたことを自分なりに調べた結果のまとめと確認です
(連投すみません

13行目(変更前
Iterator it = arr.iterator();

これがジェネリクス総称型として型を指定していないのでObject型となり次の

18行目(変更前
int data = it.next();//次の要素を取得します。

ここでInt型にObject型を代入しようとして型不一致で代入できないとのエラーが出ていた

解決策としては

13行目(変更後
Iterator<Integer> it = arr.iterator();

明示的に<Integer>を宣言することで次の

18行目(変更前
int data = it.next();//次の要素を取得します。

ここで代入可能となったが
これはInt型とInteger型のオートボクシング機能が働いている