mrb*_*ela 3 java queue linked-list list
我已经阅读了LinkedList, queue vs list 中的线程差异,但仍然不理解以下代码行为:
List<Integer> l = new LinkedList<>();
l.add(10);
l.add(12);
l.remove(1); // removes index 1
System.out.println(l); // outputs [10]
Queue<Integer> q2 = new LinkedList<>();
q2.add(10);
q2.add(12);
q2.remove(1); // tries to remove object 1
System.out.println(q2); // outputs [10, 12]
Run Code Online (Sandbox Code Playgroud)
我知道,为什么输出不同:
l调用的情况下remove(1)删除具有索引的元素1q调用remove(1)试图删除一个对象1,但只有整数10和12.如果我仔细看看接口:
remove(int)方法,而是remove(Object)从Collection继承了一个方法。remove(int index)andremove(Object o)方法。到现在为止还挺好。
但是:我不明白,Java 如何能够在使用相同语法 ( remove(1)) 的同时调用两种不同的方法?
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |