删除对象LinkedList

时间:2014-06-24 08:31:15

标签: java linked-list

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

程序正在运行。但我想删除一个元素。例如,我想删除索引为12的0或任何数字。我该怎么做?

4 个答案:

答案 0 :(得分:1)

k.remove(indexYouWantToRemove);

有关详细信息,请查看此处:http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#remove%28int%29

答案 1 :(得分:0)

在用Java实现或询问任何内容之前,请检查它是否已经实现。 这些方法可以帮助您:

public boolean remove(Object o)

从此列表中删除指定元素的第一个匹配项(如果存在)。如果此列表不包含该元素,则不会更改。更正式地,删除具有最低索引i的元素,使得(o==null ? get(i)==null : o.equals(get(i)))(如果存在这样的元素)。如果此列表包含指定的元素,则返回true(或等效地,如果此列表因调用而更改)。

public E remove(int index)

删除此列表中指定位置的元素。将任何后续元素向左移位(从索引中减去一个)。返回从列表中删除的元素。

答案 2 :(得分:0)

你应该使用下一个方法

    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]

答案 3 :(得分:-1)

答案参考 http://www.tutorialspoint.com/java/util/linkedlist_remove_object.htm

描述 java.util.LinkedList.remove(Object o)方法从该列表中删除指定元素的第一个匹配项(如果存在)。如果此列表不包含该元素,则不会更改。

宣言 以下是java.util.LinkedList.remove()方法

的声明

public boolean remove(Object o) 参数 o - 要从此列表中删除的元素(如果存在)

返回值 如果此列表包含指定的元素

,则此方法返回true

异常 NA

实施例 以下示例显示了java.util.LinkedList.remove()方法的用法。

package com.tutorialspoint;

import 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);

} }