迭代器遍历|增强for循环|List接口和常用方法|

迭代器遍历

迭代器遍历|增强for循环|List接口和常用方法|
迭代器遍历|增强for循环|List接口和常用方法|
迭代器遍历|增强for循环|List接口和常用方法|
package AA;

import Java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CC {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        Collection col = new ArrayList();
        col.add(new Book("uygtfu""ujtg"65));
        col.add(new Book("uygtfu""ujtg"65));
        col.add(new Book("uygtfu""ujtg"65));
        //1.先得到col对应的迭代器
        Iterator iterator = col.iterator();
        //2.使用while循环遍历
//        while (iterator.hasNext()){//判断是否还有数据
//            //obj编译类型是Object,运行类型看上面Book后面的这些
//            Object obj = iterator.next();
//            System.out.println(obj);
//        }
        //快捷键 itit
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println(obj);
        }
        //显示所有快捷键的快捷键 ctrl + j
        //3. 当退出while循环屈,这时 iterator迭代器,指向最后的元素
        //4. 如果希望再次遍历,需要重置我们的迭代器
        iterator = col.iterator();//重置
        System.out.println("第二次遍历");
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println(obj);
        }
    }
}

class Book {
  //属性
  //构造器
  //getter setter方法
  //toString
    }
}

增强for循环,可以代替iterator迭代器

迭代器遍历|增强for循环|List接口和常用方法|
 //1.使用增强for 在Collection集合
        //2. 增强for, 底层仍然是迭代器  debug一下看
        //3.增强for可以理解成就是简化版本的迭代器遍历
        for(Object book : col){
            System.out.println(book);
        }
        //增强for也可以在数组使用
        int[] nums = {1,3,5,67,8,98};
        for(int i : nums){
            System.out.println(i);
        }

List接口和常用方法

迭代器遍历|增强for循环|List接口和常用方法|
package AA.list;

import java.util.ArrayList;
import java.util.List;

public class LIst_ {
    @SuppressWarnings({"all"})//这个拿来清除障碍的,看着好看点
    public static void main(String[] args) {
        //1.List集合 类中元素有序(即添加顺序和取出顺序一致)、且可重复
        List list = new ArrayList();
        list.add("jhyg");
        list.add("uyf");
        list.add("uyjgt");
        list.add("uyjgt");
        list.add("uyjgt");
        System.out.println(list);
        //2. List集合中的每个元素都有其对应的顺序索引,即支持索引
        //索引是从0开始的
        System.out.println(list.get(3));
    }
}
迭代器遍历|增强for循环|List接口和常用方法|

eg.迭代器遍历|增强for循环|List接口和常用方法|

迭代器遍历|增强for循环|List接口和常用方法|

练习题: 使用List的实现类添加几本书 遍历 使用冒泡排序

package AA.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

@SuppressWarnings({"all"})//这个拿来清除障碍的,看着好看点
public class LIst_ {
    public static void main(String[] args) {
        //1.List集合 类中元素有序(即添加顺序和取出顺序一致)、且可重复
        List list = new ArrayList();//LinkdeList,Vector都行
        list.add(new AA("huy"64"yjg"));
        list.add(new AA("huy"543"yjg"));
        list.add(new AA("huy"432"yjg"));
        list.add(new AA("huy"41"yjg"));
        list.add(new AA("huy"43"yjg"));
        System.out.println("排序前");
        //迭代器遍历
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            Object obj = iterator.next();
            System.out.println(obj);
        }
        //调用方法
        sort(list);
        System.out.println("排序后");
        //增强for遍历
        for (Object o : list) {
            System.out.println(o);
        }
    }

    //冒泡排序静态方法
    public static void sort(List list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = 0; j < list.size() - 1 - i; j++) {
                //取出对象AA
                //向下转型
                //子类类型 引用名 = (子类类型) 父类引用
                AA o = (AA) list.get(j);
                AA o1 = (AA) list.get(j + 1);
                if (o.getSalary() > o1.getSalary()) {//前大于后
                    list.set(j, o1);//前与后替换
                    list.set(j + 1, o);//后与前替换
                }
            }
        }
    }
}

class AA {
   //属性
    //构造器
    //getter setter方法
    //toString()
}
迭代器遍历|增强for循环|List接口和常用方法|
迭代器遍历|增强for循环|List接口和常用方法|

刷题

合并两个有序链表迭代器遍历|增强for循环|List接口和常用方法|

删除链表中的重复元素迭代器遍历|增强for循环|List接口和常用方法|


原文始发于微信公众号(易小琳):迭代器遍历|增强for循环|List接口和常用方法|

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/251488.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!