大杂烩

StringBuilder :通过toString方法,StringBuilder对象将会转换为不可变的String对象。

public class Demo16StringBuilder {
  public static void main(String[] args) {
  // 链式创建
    StringBuilder sb = new StringBuilder("Hello").append("World").append("Java");
    // 调用方法
    String str = sb.toString();
    System.out.println(str); // HelloWorldJava
  }
}

迭代器:

package cn.itcast.sh.iterator;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
* 演示迭代器的使用
*/
public class IteratorDemo {
  public static void main(String[] args) {
    //创建集合对象
    Collection coll=new ArrayList();
    //向集合中添加数据
    coll.add("aaaa");
    coll.add("bbbb");
    coll.add("cccc");
    //根据当前集合获取迭代器对象
    Iterator it = coll.iterator();

    //使用while循环遍历集合
    while(it.hasNext())//it.hasNext()表示循环条件,如果为true,说明集合中还有元素可以获取,否则没有元素
    {
    //获取元素并输出
    System.out.println(it.next());
    }
/*
* 注意:针对集合每次获取到的迭代器对象,使用完之后,迭代器中的隐式光标就已经到了集合的最后,这样就
无法再去使用next获取集合中的元素。如果还要获取,需要重新在获取一个迭代器对象。
*/


//使用for循环遍历集合 推荐开发使用
/*for (Iterator it2 = coll.iterator(); it2.hasNext();) {
  System.out.println(it2.next());
}*/
  }
}

while循环的迭代和for循环的迭代有什么不同?

while循环的迭代,由于初始化迭代器对象在while循环上面,在整个while循环结束后,迭代器对象还可以继续使用,但是集合中已经没有数据了,如果还仍然使用迭代器对象继续获取数据,会报异常,如果还要获取,需要重新在获取一个迭代器对象。所以对于while循环当迭代器对象使用完之后,迭代器就会变成一个没有用的垃圾,占内存。

对于for循环的迭代,由于初始化迭代器对象在for循环小括号中,在整个for循环结束后,迭代器对象就不能继续使用,也不会占内存,所以建议大家以后在开发中使用迭代器遍历集合最好使用for循环。

总结:在开发中,建议大家使用迭代器遍历集合的时候最好使用for循环。

猜你喜欢

转载自www.cnblogs.com/madeng/p/10126361.html
今日推荐