zoukankan      html  css  js  c++  java
  • 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]);
            }
        }
    
    }
    
  • 相关阅读:
    post和get区别
    https
    tcp/ip协议
    webpack与gulp的不同
    什么是webpack
    spring boot 输入参数统一校验
    spring boot++jpa+ mysql +maven
    Intellij IDEA 2018.2.2 SpringBoot热启动 (Maven)
    git 从远程仓克隆到本地新分支
    ASP.NET MVC 自动模型验证
  • 原文地址:https://www.cnblogs.com/klvchen/p/15315223.html
Copyright © 2011-2022 走看看