精华内容
下载资源
问答
  • Collection遍历

    2021-05-09 13:04:40
    Collection遍历Iterator(迭代器)性质执行原理注意增强for Iterator(迭代器) 性质 1、所有实现Collection接口的集合类都有一个iterator()方法,用以返回一个实现Iterator接口的对象,即可以返回一个迭代器 2、...

    Iterator(迭代器)

    性质

    1、所有实现Collection接口的集合类都有一个iterator()方法,用以返回一个实现Iterator接口的对象,即可以返回一个迭代器
    2、Iterator仅用于遍历集合,Iterator本身并不存放对象

    执行原理

    ArrayList coll=new ArrayList();
    Iterator iterator=coll.iterator//得到迭代器
    //hasNext();判断是否还有下一个元素
    while(iterator.hasNext()){
    //next():1、指针下移;2、返回所指元素;
    System.out.println(iterator.next());
    }
    

    注意

    1、在调用next()之前必须调用hasNext()。若不调用,且下一条记录无效,这时候调用next()会抛出NoSuchElementException异常。
    2、当退出while循环后,iterator指向最后元素,不可再迭代。如果还要使用,则需要重置迭代器

    iterator=coll.iterator();
    

    增强for

    可替代iterator,就是简化版iterator

    for(元素类型  元素名:集合/数组名){
    	访问元素;
    }
    
    展开全文
  • Iterator 对象称为迭代器,主要用于遍历Collection集合中的元素 2. 所有实现了Collection接口的集合类都有一个iteration()方法,用以 返回一个Iterator接口的对象,即可以返回一个迭代器 3. Iterato
    package com.collection_;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    /*
        1. Iterator 对象称为迭代器,主要用于遍历Collection集合中的元素
        2. 所有实现了Collection接口的集合类都有一个iteration()方法,用以
        返回一个Iterator接口的对象,即可以返回一个迭代器
        3. Iterator仅用于遍历集合,Iterator本身并不存在对象
     */
    public class CollectionIterator {
        @SuppressWarnings({"all"})
        public static void main(String[] args) {
    
            Collection col = new ArrayList();
            col.add(new Book("三国演义","罗贯中",10.1));
            col.add(new Book("小李飞刀","古龙",5.1));
            col.add(new Book("红楼梦","曹雪芹",34.6));
    
            //System.out.println("col=" + col);
            //遍历 col 集合
            //1. 先得到 col 对应的迭代器
            Iterator iterator = col.iterator();
            //2. 使用while循环遍历
    //        while (iterator.hasNext()) {//判断是否还有下一个数据
    //            //返回下一个元素,类型是Object
    //            Object obj = iterator.next();//用next()方法获取数据
    //            System.out.println("obj=" + obj);
    //        }
            //快捷键,快速生成  itit
            //显示所有快捷键的快捷键 ctrl + j
            while (iterator.hasNext()) {
                Object obj =  iterator.next();
                System.out.println("obj=" + obj);
            }
            //3. 当退出while循环后,只是iterator迭代器,指向了最后一个数据
            //iterator.next();//NoSuchElementException异常
            //4. 如果希望再次遍历,需要重置iterator
            iterator = col.iterator();
            System.out.println("======第二次遍历=========");
            while (iterator.hasNext()) {
                Object obj =  iterator.next();
                System.out.println("obj=" + obj);
    
            }
    
        }
    }
    
    class Book{
        private String name;
        private String author;
        private double price;
    
        public Book(String name, String author, double price) {
            this.name = name;
            this.author = author;
            this.price = price;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        @Override
        public String toString() {
            return "Book{" +
                    "name='" + name + '\'' +
                    ", author='" + author + '\'' +
                    ", price=" + price +
                    '}';
        }
    }
    
    
    
    展开全文
  • 1. 简介 在实际开发中,经常需要对集合进行遍历,今天总结一下List、Set、Map的遍历方法。 2. List遍历 ...package Collection; import java.util.ArrayList; import java.util.Iterator; import java.

    1. 简介

    在实际开发中,经常需要对集合进行遍历,今天总结一下List、Set、Map的遍历方法。

    2. List遍历

    List的遍历方法主要有以下几种:

    • 普通for循环遍历
    • 增强for循环遍历
    • 迭代器Iterator遍历
    • 结合for循环和Iterator遍历
    • lambada表达式遍历
      下面一个示例说明一下List的遍历方法:
    
    package Collection;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListTraverse {
       public static void main(String[] args) {
           //创建List
           List<String> list = new ArrayList<String>();
           list.add("Java");
           list.add("Python");
           list.add("C++");
           list.add("C");
           list.add("Golang");
    
           //使用普通for循环遍历List
           for (int i = 0; i < list.size(); i++) {
               System.out.println(list.get(i));
           }
           //使用增强for循环遍历
           for (String str: list) {
               System.out.println(str);
           }
           //使用迭代器Iterator遍历
           Iterator<String> iterator = list.iterator();
           while (iterator.hasNext()){
               System.out.println(iterator.next());
           }
           //结合for循环和Iterator遍历
           for ( Iterator<String> iterator1 = list.iterator();iterator1.hasNext();){
               System.out.println(iterator1.next());
           }
    
           //使用lambada表达式遍历
           list.forEach(str -> System.out.println(str));
       }
    }
    

    3. Set遍历

    Set遍历一般有以下两种方法:

    • 迭代器Iterator遍历
    • 增强for循环遍历
      下面一个示例说明一下Set的遍历方法:
    
    package Collection;
    
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    public class SetTraverse {
        public static void main(String[] args) {
            Set<String> set = new HashSet<String>();
            set.add("Java编程思想");
            set.add("算法导论");
            set.add("数据结构与算法");
    
            //使用迭代器Iterator遍历
            Iterator<String> iterator = set.iterator();
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
            //使用增强for循环遍历
            for (String str: set) {
                System.out.println(str);
            }
    
        }
    }
    
    

    3. Map遍历

    Map遍历一般有以下四种方法:

    • 使用hashMap.entrySet循环:
    • 使用Iterator遍历
    • 使用hashMap.keySet()/hashMap.values/Iterator
    • 使用hashMap.keySet()/forEach遍历
      下面以一个示例说明Map的遍历方法:
    
    package Collection;
    
    import java.util.*;
    
    public class MapTraverse {
        public static void main(String[] args) {
            Map<String,String> map = new HashMap<>();
            map.put("name","张三");
            map.put("age","18");
            map.put("sex","male");
    
            //使用hashMap.entrySet()循环
            for (Map.Entry<String,String> entry:map.entrySet()){
                System.out.println(entry.getKey() + "----->" + entry.getValue());
            }
            //使用Iterator遍历
            Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();
            while (iterator.hasNext()){
                Map.Entry<String,String> entry = iterator.next();
                System.out.println(entry.getKey() + "----->" + entry.getValue());
            }
           //使用hashMap.keySet()/hashMap.values/Iterator
            Set<String> strings = map.keySet();
            Collection<String> values = map.values();
            for (Iterator<String> iterator1 = strings.iterator();iterator1.hasNext();) {
                String key = iterator1.next();
                String value = (String) map.get(key);
                System.out.println(key + "----->" + value);
            }
            for (Iterator i = values.iterator(); i.hasNext();) {
                String s = (String) i.next();
                System.out.println(s);
            }
    
            //使用hashMap.keySet()/forEach遍历
            Set<String> keys = map.keySet();
            for (String key :keys){
                System.out.println(key + "----->" + map.get(key));
            }
            
        }
    }
    
    
    展开全文
  • 前提条件:jdk1.8之后使用 public class CollectionTest { ... Collection<String> ls = new ArrayList<>(); ls.add("地球"); ls.add("宇宙"); ls.add("火星"); ls.forEach(ele ->{

    前提条件:jdk1.8之后使用

    public class CollectionTest {
        public static void main(String[] args) {
        
            Collection<String> ls = new ArrayList<>();
            ls.add("地球");
            ls.add("宇宙");
            ls.add("火星");
    
    
            ls.forEach(ele ->{
                System.out.println(ele);
            });
    
            ls.forEach(ele -> System.out.println(ele));
    
            ls.forEach(System.out::println);
    
        }
    }
    

    补充:遇到多行执行语句 要用大括号

    ls.forEach(ele ->{
                System.out.println(ele);
                if(){
                }...
                map.put...;
            });
    
    展开全文
  • Collection遍历输出

    2016-12-21 17:24:58
    package basic; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * Created by zhangdehua on 2016/12/21. */ public class CollectionIt { public static void main(S
  • collection接口类中主要是实现类是List,Set,Map。默认容器内对象类型为String.map中对象为<Integer,String> 1,对List(ArrayList,LinkedList)内容进行遍历:List中实现了toString方法,若想打印list中全部的...
  • iOS中Collection遍历的四种方式

    千次阅读 2014-10-24 12:55:40
    iOS中得Collection主要包括 NSDictionary,NSArray和NS
  • 一:如何使用for循环和迭代器遍历Map集合原文地址(转载) 1、通过key集合访问,对Key敢兴趣,可以访问与key对应的Value值; for(String k:maps.keySet()){ System.out.println(k+":"+maps.get(k)); } 2、通过...
  • Collection集合遍历

    2020-12-02 21:46:57
    Collection集合遍历 一、集合(Collection)接口的介绍 1.1数组和集合的区别: 1:长度的区别:数组的长度固定集合的长度可变 2:内容:数组存储的是同一种类型的元素集合可以存储不同类型的元素(但是一般我们不这样干...
  • 主要介绍了Java Collection集合遍历运行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Collection集合遍历模板

    2021-08-14 09:48:19
    Collection集合遍历模板 模板格式及注解 import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionDdemo { public static void main(String[] args) { ...
  • Collection集合遍历以及集合转数组遍历 import java.util.ArrayList; import java.util.Collection; public class collectionDemo { public static void main(String[] args) { //创建数组对象 Collection c =...
  • 目标:Collection集合...Collection遍历方式有三种: (1)迭代器。 (2)foreach遍历(增强for循环):是迭代器的简化写法。 (3)JDK 1.8开始之后的新技术:Lambda表达式。(了解) 迭代器遍历集合的步骤; ​ –...
  • 遍历Collection

    2018-06-06 14:17:00
    遍历实现了Collection接口的集合:  通过Enumeration及Iterator接口遍历集合;  增强for循环遍历集合;(一般用这个)  通过聚集操作遍历集合; (Type为集合中元素的类型,a为取出的元素) ...
  • 使用Iterator迭代器需要一个Iterator对象,主要用于遍历Collection集合中的元素 所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个·实现了Iterator接口的对象,即可以返回一个迭代器 ...
  • 对于collection(list set)有两种遍历方式,一种for循环遍历 ,一种使用iterator遍历。 对于遍历效率, arraylist和iterator都是根据下标获取元素,arraylist使用顺序链表存储数据,因此可以直接获取到元素,而...
  • 目录 ...遍历中删除 ...我的分词结果链表需要合并连续的数字和日期,所以需要熟悉一下Java Collection遍历的过程中同时删除、合并元素的小trick。自己试验了一下,活用listIterator的previou
  • 遍历collection

    2016-09-10 17:10:00
    遍历NSArray 正向遍历 for (id object in array) 反向遍历 for (id object in [array reverseObjectEnumerator]) 如果在遍历中修改 先计算出array的count,然后使用for循环。在for循环中记录需要修改的index...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,298
精华内容 64,119
关键字:

collection怎么遍历