码迷,mamicode.com
首页 > 其他好文 > 详细

STL中的迭代器的使用

时间:2019-05-18 18:54:11      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:[]   ssi   大于   语法糖   ati   ext   reac   tac   ESS   

package com.text;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class text {
 public static void main(String[] args)throws Exception {
  
  
  //定义一个arraylsit 对象,然后赋值
  ArrayList arr=new ArrayList();
  arr.add("a");
  arr.add("b");
  arr.add("c");
  arr.add("d");
  
  //下标输出方式
  System.out.println("------下标输出-------");
  for(int i=0;i<arr.size();i++) {
   System.out.println(arr.get(i));
  }
  
  //foreach输出(jdk要大于等于1.5)
  System.out.println("------foreach输出-------");
  for(Object o:arr) {
   System.out.println(o);
  }
  
  //jdk1.8的语法糖
  System.out.println("------jdk1.8 语法糖-------");
  arr.forEach(c->System.out.println(c));
  //迭代器
  Iterator im=arr.iterator();
  while(im.hasNext()) {
   System.out.println(im.next());
  }
  
  //向下读取
  ListIterator it=arr.listIterator();
  System.out.println("------向下读取-------");
  while(it.hasNext()) {
   System.out.println(it.next());
  }
  
  //向上读取
  System.out.println("------向上读取-------");
     while(it.hasPrevious()) {
      System.out.println(it.previous());
     }
    
     //arraylist因子增长(默认长度是10  当长度为10的时候,增长因子数为0.5,向下取整数)
     System.out.println("arraylsit因子增长");
     for(int i=0;i<20;i++) {
      print(arr);
      arr.add(i);
     }
 }
 //使用反射查看属性
 static void print(ArrayList a)throws Exception {
  Class c=a.getClass();
     Field f=c.getDeclaredField("elementData");78
     f.setAccessible(true);
     Object[] o=(Object[]) f.get(a);
     System.out.println(o.length);
 }
}

STL中的迭代器的使用

标签:[]   ssi   大于   语法糖   ati   ext   reac   tac   ESS   

原文地址:https://www.cnblogs.com/chenjiahao9527/p/10886345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!