黑马程序员技术交流社区

标题: LinkedList类中的iterator descendingIterator()方法该如何使用 [打印本页]

作者: 李贺晓    时间: 2012-10-18 16:09
标题: LinkedList类中的iterator descendingIterator()方法该如何使用
本帖最后由 李贺晓 于 2012-10-18 17:04 编辑

LinkedList类中的iterator descendingIterator()方法该如何使用
import java.util.*;
class TestLinkedList
{
        public static void main(String[] args)
        {
                LinkedList books=new LinkedList();
                System.out.println(books.poll());
                //System.out.println(books.remove());
                books.offer("java");
                books.add("JAVA");
                books.add("vb");
               
                books.push("vf");
               
                books.addFirst("123");
                books.addLast("456");
               TestLinkedList b=new TestLinkedList();
                //b.find(books);
                books.pollFirst();
                b.find(books);
                books.peekLast();
                b.find(books);
        //System.out.print(books.descendingIterator());//此处可以编译通过,但是运行出来的是一段
        }
        public void find(LinkedList ob)
        {
                for(int i=0;i<ob.size();i++)
                {
                        System.out.println(ob.get(i));
                }
        }
        
}

1.png (808 Bytes, 下载次数: 71)

1.png

作者: 王自强    时间: 2012-10-18 16:34
你的变量 b 是什么啊?

作者: 王自强    时间: 2012-10-18 16:57
  1. import java.util.Iterator;
  2. import java.util.LinkedList;

  3. class TestLinkedList
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 LinkedList books=new LinkedList();
  8.                 System.out.println(books.poll());
  9.                 //System.out.println(books.remove());
  10.                 books.offer("java");
  11.                 books.add("JAVA");
  12.                 books.add("vb");
  13.                
  14.                 books.push("vf");
  15.                
  16.                 books.addFirst("123");
  17.                 books.addLast("456");
  18.                
  19.                 books.pollFirst();
  20.                
  21.                 books.peekLast();
  22.               //方法descendingIterator返回值是Iterator接口类型的,你要是直接打印的话就会打印出它的地址值,
  23.                 System.out.println(books.descendingIterator());
  24.                /* 打印结果为java.util.LinkedList$DescendingIterator@de6ced 表示它是一个地址值
  25.                 * 表示的是        类名为java.util.LinkedList$DescendingIterator
  26.                 *                         @表示它是一个引用型变量
  27.                 *                         de6ced是此对象哈希码的无符号十六进制表示。
  28.                 * */
  29.                 Iterator it = books.iterator();
  30.                 while(it.hasNext()){
  31.                         System.out.println(it.next());
  32.                 }
  33.                 /*打印结果为 vf java JAVA vb 456 这个顺序是队列LinkedList的正向顺序,
  34.                  * 所以方法iterator返回以正向顺序在此双端队列的元素上进行迭代的迭代器。
  35.                  * */               
  36.                
  37.                Iterator deit = books.descendingIterator();
  38.                while(deit.hasNext()){
  39.                        System.out.println(deit.next());
  40.                }
  41.                /*打印结果为 456 vb JAVA java vf 这个顺序是队列LinkedList的逆向顺序,
  42.                 * 所以方法descendingIterator返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。
  43.                 * */
  44.         }
  45.       
  46.         
  47. }
复制代码

作者: 李贺晓    时间: 2012-10-18 17:06
王自强 发表于 2012-10-18 16:34
你的变量 b 是什么啊?

b  是建立的TestLinkedList实例对象
作者: 王自强    时间: 2012-10-18 17:09
李贺晓 发表于 2012-10-18 17:06
b  是建立的TestLinkedList实例对象

等你看到了迭代器,以后一般遍历集合中的元素最好用迭代器,安全高效,
你自己写的find方法也行。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2