删除对象LinkedList



我创建了一个关于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);

}}

相关内容

  • 没有找到相关文章

最新更新