Java,使用Iterator遍历容器Collection

标题:使用Iterator遍历容器Collection

一、

  • Iterator就是用来遍历的
  • iterator.remove();//只能通过迭代变量的remove进行删除–>改变集合中的元素。在迭代过程中【或foreach中】,其它修改集合元素的操作将会引起异常
  • str=“mm”;//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
/**
 * Iterator就是用来遍历的
 * iterator.remove();//只能通过迭代变量的remove进行删除-->改变集合中的元素。在迭代过程中【或foreach中】,其它修改集合元素的操作将会引起异常
 * str="mm";//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
 * @author dell
 *
 */
public class Crazy298Test02 {
	public static void main(String[] args) {
		System.out.println("------------------测试Set");
		Set<String> set=new HashSet<>();
		set.add("aa");
		set.add("bb");
		set.add("cc");
		System.out.println("使用Iterator遍历容器Set");
		Iterator<String> iterator = set.iterator();
		while(iterator.hasNext()) {
			String str=iterator.next();
			if(str.equals("aa")) {
				iterator.remove();//只能通过迭代变量的remove进行删除-->改变集合中的元素,在迭代过程中,其它修改集合元素的操作将会引起异常
//				str="mm";//赋值无效,因为Iterator是把集合元素的值传递给了迭代变量,故修改迭代变量的值对集合元素没有任何影响
				continue;
			}
//			set.remove(str);//java.util.ConcurrentModificationException
			System.out.println(str);
		}
		System.out.println(set);
		
		
		System.out.println("------------------测试List");
		List<String> list=new ArrayList<>();
		list.add("aa");
		list.add("bb");
		list.add("cc");
		list.add("dd");
		System.out.println("使用Iterator遍历容器List");
		Iterator<String> iterator02 = list.iterator();
		while(iterator02.hasNext()) {
			System.out.println(iterator02.next());
		}
		
	}
}

你可能感兴趣的:(java,#,java基础)