我创建了一个关于LinkedList的程序,代码如下:
package consoleapplication;
import java.util.Scanner;
import java.util.LinkedList;
public class Index {
static int s, n ,e;
public static void main(String[] args) {
// LinkedList
LinkedList k = new LinkedList();
// input
Scanner a = new Scanner(System.in);
System.out.println("Size: ");
s = a.nextInt();
System.out.println("Element: ");
e = a.nextInt();
// process
for (n = 0; n < s; n++) {
k.add(n);
}
// output
System.out.println("Index of " + e + k);
}
}
输出如下:
Size: 12
Element: 12
Index of 12[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
程序正在运行。但是我想去掉一个元素。例如,我想删除0或索引12中的任何数字。我该怎么做呢?
k.remove(indexYouWantToRemove);
更多信息请访问:http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#remove%28int%29
你应该使用next方法
k.remove();
k.remove(Index);
k.removeFirst();
k.removeLast();
下面是一个关于它用法的简短示例:
import java.util.Arrays;
import java.util.LinkedList;
public class Index {
public static void main(String[] args) {
// LinkedList
LinkedList<Integer> k = new LinkedList<Integer>() {
{
addAll(Arrays.asList(new Integer[]{1, 2, 3, 4, 5, 6, 7}));
}
};
System.out.println("Initial List: " + k);
k.remove(); //Retrieves and removes the head (first element) of this list.
System.out.println("List after k.remove(): " + k);
k.remove(2); //Removes the element at the specified position in this list.
System.out.println("List after k.remove(2): " + k);
k.removeFirst();//Removes and returns the first element from this list.
System.out.println("List after k.removeFirst():" + k);
k.removeLast();//Removes and returns the last element from this list.
System.out.println("List after k.removeLast(): " + k);
}
}
和输出:
Initial List: [1, 2, 3, 4, 5, 6, 7]
List after k.remove(): [2, 3, 4, 5, 6, 7]
List after k.remove(2): [2, 3, 5, 6, 7]
List after k.removeFirst():[3, 5, 6, 7]
List after k.removeLast(): [3, 5, 6]
在用Java实现或询问任何东西之前,请检查它是否已经实现。这些方法可以帮助你:
public boolean remove(Object o)
从列表中删除第一个出现的指定元素(如果该元素存在)。如果此列表不包含该元素,则该元素不变。更正式地说,删除具有最低索引i的元素,使(o==null ? get(i)==null : o.equals(get(i)))
(如果存在这样的元素)。如果此列表包含指定的元素(或者等价地,如果此列表因调用而更改),则返回true。
public E remove(int index)
删除列表中指定位置的元素。将所有后续元素向左移动(从它们的索引中减去1)。返回从列表中删除的元素。
回答参考http://www.tutorialspoint.com/java/util/linkedlist_remove_object.htm
描述java.util.LinkedList。remove(Object 0)方法从该列表中删除第一次出现的指定元素,如果该元素存在。如果列表中不包含该元素,则该元素不变。
声明下面是java.util.LinkedList.remove()方法
的声明public boolean remove(对象0)参数0——从列表中删除的元素,如果存在
返回值如果此列表包含指定元素
,则此方法返回true。异常NA
的例子下面的例子展示了java.util.LinkedList.remove()方法的用法。
包com.tutorialspoint;
进口java.util。*;
公共类LinkedListDemo {
public static void main(String[] args) {
// create a LinkedList
LinkedList list = new LinkedList();
// add some elements
list.add("Hello");
list.add(2);
list.add("Chocolate");
list.add("10");
// print the list
System.out.println("LinkedList:" + list);
// remove "10"
System.out.println("10 is in the list:" + list.remove("10"));
// print the list
System.out.println("LinkedList:" + list);
}}