• Java 基础(集合二)


    IteratorTest

    package com.klvchen.java2;
    
    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    /*
      集合元素的遍历操作,使用迭代器Iterator接口
      1.内部的方法: hasNext() 和 next()
      2.集合对象每次调用 iterator() 方法都得到一个全新的迭代器对象,
        默认游标都在集合的第一个元素之前。
      3.内部定义了 remove(),可以在遍历的时候,删除集合中的元素,此方法不同于集合直接调用remove()
     */
    public class IteratorTest {
    
        //iterator(): 返回Iterator接口的实例,用于遍历集合元素
        @Test
        public void test1(){
            Collection col1 = new ArrayList();
            col1.add(123);
            col1.add(456);
            col1.add(new Person("Jerry", 20));
            col1.add(new String("Tom"));
            col1.add(false);
    
            Iterator iterator = col1.iterator();
    
            //方式一
    //        System.out.println(iterator.next());
    //        System.out.println(iterator.next());
    //        System.out.println(iterator.next());
    //        System.out.println(iterator.next());
    //        System.out.println(iterator.next());
            //报异常:java.util.NoSuchElementException
    //        System.out.println(iterator.next());
    
            //方式二:不推荐
    //        for (int i = 0; i < col1.size(); i++){
    //            System.out.println(iterator.next());
    //        }
    
            //方式三:推荐
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
        }
    
        @Test
        public void test2(){
            Collection col1 = new ArrayList();
            col1.add(123);
            col1.add(456);
            col1.add(new Person("Jerry", 20));
            col1.add(new String("Tom"));
            col1.add(false);
    
            //删除集合中"Tom"
            Iterator iterator = col1.iterator();
            while (iterator.hasNext()){
                Object obj = iterator.next();
                if ("Tom".equals(obj)){
                    iterator.remove();
                }
            }
            //遍历集合
            iterator = col1.iterator();
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
        }
    
    }
    

    ForTest.java

    package com.klvchen.java;
    
    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    public class ForTest {
    
        @Test
        public void test1(){
            Collection col1 = new ArrayList();
            col1.add(123);
            col1.add(456);
            col1.add(new Person("Jerry", 20));
            col1.add(new String("Tom"));
            col1.add(false);
    
            //for(集合元素的类型 局部变量 : 集合对象)
            //内部仍然调用了迭代器
            for(Object obj : col1){
                System.out.println(obj);
            }
        }
    
        @Test
        public void test2(){
            int[] arr = new int[]{1, 2, 3, 4, 5, 6};
            //for(数组元素的类型 局部变量 : 数组对象)
            for (int i : arr){
                System.out.println(i);
            }
        }
    
        //练习题
        @Test
        public void test3(){
            String[] arr = new String[]{"MM", "MM", "MM"};
    
            //方式一:
            //for (int i = 0; i < arr.length; i++){
            //    arr[i] = "GG";
            //}
    
            //方式二: 增强for循环
            for (String s : arr){
                s = "GG";
            }
    
            for (int i = 0; i< arr.length; i++){
                System.out.println(arr[i]);
            }
        }
    
    }
    
  • 相关阅读:
    Improve Your Study Habits
    js中的cookie的读写操作
    js中数组/字符串常用属性方法归纳
    前端的一些常用DOM和事件归纳
    关于scroll无法绑定的问题
    页面内锚点定位及跳转方法总结
    js共享onload事件
    JS获取终端屏幕、浏览窗口的相关信息
    jsonp跨域问题记录
    关于if/else if
  • 原文地址:https://www.cnblogs.com/klvchen/p/15315223.html
Copyright © 2020-2023  润新知