关闭

java学习之路-----集合------输出

718人阅读 评论(0) 收藏 举报
分类:
集合的输出有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、




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:84895次
    • 积分:1826
    • 等级:
    • 排名:千里之外
    • 原创:97篇
    • 转载:1篇
    • 译文:0篇
    • 评论:15条
    博客专栏
    最新评论