比如现在给数字3要求删除,再删除6,然后给3要求按顺序插入,不要给按顺序直接删除的答案,而是查找到后再删除import java.util.*;
class s{
  public int i;
s(int s){i=s;
}
}
public class display {
   public static void main(String args[]){
   LinkedList <s> s1=new LinkedList<s>();
       for(int i=0;i<10;i++){
            s a=new s(i);
         Collections.addAll(s1,a);
       } for(s a:s1)
    System.out.print(a.i+" ");
}
}

解决方案 »

  1.   

    你知道链表吗? LinkedList 底层就是双向链表存储的。
      

  2.   

    你知道链表吗? LinkedList 底层就是双向链表存储的。
      

  3.   

    不知是不是boolean add(index, element)和remove(index) 提供的功能
      

  4.   

    嗯  然后呢,我要怎么操作呢,假如程序使用java自带函数编写的要怎么处理呢,可以不用进行底层的编程吗   用iterator可以解决吗
      

  5.   

    嗯  然后呢,我要怎么操作呢,假如程序使用java自带函数编写的要怎么处理呢,可以不用进行底层的编程吗   用iterator可以解决吗
      

  6.   

    楼主问题是啥啊?LinkedList本身就有你所要求的功能啊,为啥还要什么底层编程?add(int index, E element) 函数就是实现在指定位置插入元素remove(int index) 函数则是实现删除掉指定位置的元素
      

  7.   

    迭代器(Iterator)  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。  Java中的Iterator功能比较简单,并且只能单向移动:  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。  (2) 使用next()获得序列中的下一个元素。  (3) 使用hasNext()检查序列中是否还有元素。  (4) 使用remove()将迭代器新返回的元素删除。  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。迭代器应用:
     list l = new ArrayList();
     l.add("aa");
     l.add("bb");
     l.add("cc");
     for (Iterator iter = l.iterator(); iter.hasNext();) {
      String str = (String)iter.next();
      System.out.println(str);
     }
     /*迭代器用于while循环
     Iterator iter = l.iterator();
     while(iter.hasNext()){
      String str = (String) iter.next();
      System.out.println(str);
     }
     */
      

  8.   

    6楼  假如不知道元素位置,只知道有这么个元素,怎么用remove?
    7楼  可以不抄书吗???
      

  9.   


    可以,建议你多看看API的文档:
    public boolean remove(Object o)
      Removes the first occurrence of the specified element from this list, if it is present. If this list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists). Returns true if this list contained the specified element (or equivalently, if this list changed as a result of the call).此外还有四个:
    removeFirst() // 删除全链表中第一个元素
    removeFirstOccurrence(Object o)  // 删除第一个跟 o 相同的元素(equels)
    removeLast() // 删除全链表中最后一个元素
    removeLastOccurrence(Object o)  // 删除倒数第一个跟 o 相同的元素(equels)
      

  10.   

    [Quote=引用 9 楼  的回复:]可以说详细点吗?? 能麻烦你写下代码吗??
      

  11.   

    这也要写代码?LinkedList<String> ls=new LinkedList<String>();ls.add("X");
    ls.add("Y");
    ls.add("X");
    ls.add("Y");
    System.out.println(ls);ls.remove("X");
    System.out.println(ls);
      

  12.   

    我的意思是你能帮忙看看我的代码吗,
    import java.util.*;
    class s{
      public int i;
    s(int s){i=s;
    }
    }
    public class display {
     public static void main(String args[]){
       LinkedList <s> s1=new LinkedList<s>();
           for(int z=0;z<10;z++){
                s a=new s(z);
             Collections.addAll(s1,a);
           }
       boolean c;
      LinkedList <s> s2=new LinkedList<s>();
      s s3=new s(3);
      System.out.println(s3.i);
      s1.remove(s3);//删除没用
      for(s a:s1)
        System.out.print(a.i+" "); }
    }
      

  13.   

    s3是一个对象 并没有被加入到s1或是s2 所以你那里的remove(s3)肯定删除没用
    如果要用的话 应该是remove(s3.i) 
    如果非得删用remove(object o)的话
    你的把s3加入到链表
    也就是s1.add(s3)