java學習之路-----集合------輸出

集合的輸出有4種
                    1.Iterator 迭代器,使用最多的輸出方法
                    2.ListIterator  用來輸出list集合的迭代器
                    3.Enumeration 是一箇舊的接口,和迭代器的功能差不多
                    4.foreach : jdk 1.5 以後增加的新功能
                    

1.迭代輸出   Iterator

          集合的輸出有一個思想:”就是隻要集合要輸出,最好就用迭代“,因爲這是最標準的做法

     迭代輸出的原理
                    
來看下源碼:

      public interface Iterator <E> {
   
    boolean hasNext();//判斷

    E next();//取走

   
    void remove();//刪除
}


例子:
public class IteratorTest {
     public static void main(String[] args) {
          List<String> list= new ArrayList<String>();
          
          list.add( "like");
          
          list.add( "hello");
          
          list.add( "hello world");
          
          Iterator<String> iterator=list.iterator();
          
           while(iterator.hasNext()){
              System. out.print(iterator.next()+"、" );
          }
     }

}
結果:
like、hello、hello world、

2.刪除特定的元素

public class IteratorTest1 {
     public static void main(String[] args) {
List<String> list=new ArrayList<String>();
          
          list.add( "like");
          
          list.add( "hello");
          
          list.add( "hello world");
          
          
          Iterator<String> iterator=list.iterator();
          
           while(iterator.hasNext()){
              String str=iterator.next();
               if("like" .equals(str)){
                   iterator.remove();
              } else{
                   System. out.print(str+"、" );
              }
          }
     }

}
結果:
hello、hello world、

3.listIterator 的雙向輸出
public class ListIteratorTest {
     public static void main(String[] args) {
List<String> list=new ArrayList<String>();
          
          list.add( "like");
          
          list.add( "hello");
          
          list.add( "hello world");
          
          ListIterator<String> iterator=list.listIterator();
          
           while(iterator.hasNext()){//由前向後輸出
              System. out.print(iterator.next()+"、" );
          }
          
          System. out.println("" );
          
           while(iterator.hasPrevious()){//由後向前輸出
              String str=iterator.previous();
              System. out.print(str+"、" );
          }
          
     }

}
結果:
like、hello、hello world、
hello world、hello、like、

補充:如果想要由後向前輸出,就必須要有由前向後輸出

4.增加及替換元素

public class ListIteratorDemo {
     public static void main(String[] args) {
List<String> list=new ArrayList<String>();
          
          list.add( "like");
          
          list.add( "hello");
          
          list.add( "hello world");
          
          ListIterator<String> iterator=list.listIterator();
          
          
           while(iterator.hasNext()){
              String  str=iterator.next();
              System. out.print(str+"、" );
              iterator.set(str+ "like_");
              
          }
          System. out.println();
          iterator.add( "aaaaaaa");
           while(iterator.hasPrevious()){
              String str=iterator.previous();
              System. out.print(str+"、" );
          }
          
     
     }

}
結果:
like、hello、hello world、
aaaaaaa、hello worldlike_、hellolike_、likelike_、
5.java 1.5 的新特性   foreach

public class ForeachDemo {
     public static void main(String[] args) {
          List<String> list = new ArrayList<String>();

          list.add( "like");

          list.add( "hello");

          list.add( "hello world");

           for (String list1 : list) {
              System. out.print(list1+"、" );
          }
     }

}

結果:
like、hello、hello world、

6.廢棄的接口  Enumeration 

它的作用基本上和 Iterator 相同

public class EnumerationDemo {
     public static void main(String[] args) {
          Vector<String> list = new Vector<String>();

          list.add( "like");

          list.add( "hello");

          list.add( "hello world");

          Enumeration<String> e =list.elements();
          
           while(e.hasMoreElements()){
              System. out.print(e.nextElement()+"、" );
          }
     }

}

結果:
like、hello、hello world、




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章