Java Listのremove()関数のリロード


JavaのListインタフェースにはremove()関数があり、そのパラメータタイプの違いによって、以下の2つの実装があります.
remove(int index) 
リストで指定した位置の要素を削除
remove(Object o) 
最初に表示された指定された要素が存在する場合は、このリストから削除されます.
リストにint型の値が格納されている場合、remove()関数のパラメータがint値である場合、デフォルトで1番目の関数と2番目の関数のどちらを呼び出すかという問題があります.
そこで、次のテストを行いました.
ArrayList a=new ArrayList();
a.add(5);
a.add(4);
a.add(3);
a.add(2);
a.add(1);
a.remove(2);//    remove(index)  
for(int i:a){
    System.out.print(i+", ");
}
結果:
5, 4, 2, 1, 

したがって、ここでデフォルトで呼び出されるのは、リスト内の指定された位置の要素を削除する最初のremove関数であることがわかります.