LinkedList<Integer> s=new LinkedList<>(); s.add(0,6); s.add(0,5); 为什么结果是5在6 的后面,不是先添加的6吗
时间: 2024-03-31 20:32:20 浏览: 53
LinkedList的add(int index, E element)方法是将元素element添加到指定index位置。在你的代码中s.add(0,6)是将元素6添加到s的第0个位置,也就是说6成为了链表的第一个元素。接下来s.add(0,5)是将元素5添加到s的第0个位置,也就是将元素5插入到链表的头部,使得5成为了链表的第一个元素,而6则成为了链表的第二个元素,因此结果是5在6的前面。如果你想让6在5的前面,可以将代码改为s.add(1,6)。
相关问题
import java . util. LinkedList; public class E f public static void main(String[] args) f LinkedList<Integer> list = new LinkedList<Integer>();for(intk=1;k<10;k++){ list . add(new Integer(k)); list . remove(5); list . remove(5); Integer m = list.get(5); . System. out . println(m. intValue());
这段代码存在语法错误,需要进行修改。在这段代码中,缺少了类定义的左大括号“{”,以及main方法和类定义的右大括号“}”。此外,代码中的第6行和第7行应该在循环外面,否则每次循环都会将第5个元素移除两次,而不是只移除一次。修改后的代码如下:
```
import java.util.LinkedList;
public class Ef {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
for (int k = 1; k < 10; k++) {
list.add(new Integer(k));
}
list.remove(5);
list.remove(5);
Integer m = list.get(5);
System.out.println(m.intValue());
}
}
```
这个程序的作用是创建一个包含数字1到9的LinkedList对象list,并移除其中第5个元素两次,然后获取第5个元素的值并输出。由于LinkedList是基于链表实现的,因此在移除元素时,需要遍历链表找到要移除的元素。在这个程序中,第一次移除第5个元素后,第6个元素的索引变成了5,因此第二次移除的是原来的第6个元素,也就是数字7。最后,获取第5个元素的值(原来的第6个元素,即数字6)并输出,因此程序输出结果为6。
import java.util.LinkedList;public class Ef { public static void main(String[] args) { LinkedList<Integer> list = new LinkedList<Integer>(); for (int k = 1; k < 10; k++) { list.add(new Integer(k)); } list.remove(5); list.remove(5); Integer m = list.get(5); System.out.println(m.intValue()); }}
这段 Java 代码的作用是创建一个 LinkedList 对象,向其中添加整数 1 到 9,然后删除索引为 5 和 6 的元素,最后获取索引为 5 的元素并将其转换为 int 类型后输出。具体来说,该程序输出的结果为 8,因为在删除索引为 5 的元素后,原来索引为 6 的元素变成了索引为 5 的元素。再次删除索引为 5 的元素后,原来索引为 7 的元素变成了索引为 5 的元素。因此,获取索引为 5 的元素实际上是获取了原来索引为 8 的元素。
阅读全文