迭代集合的方式

1)对list和set集合的迭代
            1》通过iterator迭代
                Iterator<Integer> it = set.iterator();
                while (it.hasNext()) {
                    Integer key = it.next();
                    System.out.println(key + "\t");
                }
            2》通过forEach循环
                    for (String name : list) {
                        System.out.print(name + ‘\t‘);
                    }
                    System.out.println("");
        2)对Map集合迭代
            1》通过keySet()方法
                Set<Integer> set = map.keySet();
                Iterator<Integer> it = set.iterator();
                while (it.hasNext()) {
                    Integer key = it.next();
                    String value = map.get(key);
                    System.out.println(key + " - " + value);
                }

            2》通过entrySet()方法
                Set<Entry<Integer, String>> set = map.entrySet();
                Iterator<Entry<Integer, String>> it = set.iterator();

                while (it.hasNext()) {
                    Entry<Integer, String> en = it.next();
                    Integer key = en.getKey();
                    String value = en.getValue();
                    System.out.println(key + "< - >" + value);
                }

    五】迭代细节:【重点】
        在迭代集合时候,一定要动态通知Iterator,而不要动态通知List集合,应选用ListIterator.
        eg:
            System.out.println("list前长度:" + list.size());//3

            ListIterator<String> it = list.listIterator();
            while(it.hasNext()){
                String key = it.next();
                System.out.print(key+‘\t‘);//jack    marry    sisi
                //动态通知迭代器,加入了新元素,从而迭代器自动通知list集合
                it.add("qq");
            }
            System.out.println("\nlist后长度:"+list.size());//6

            it = list.listIterator();
            while(it.hasNext()){
                String key = it.next();
                System.out.print(key+‘\t‘);//jack    qq    marry    qq    sisi    qq
            }
            System.out.println("\nlist后长度:"+list.size());//6
时间: 2024-10-14 03:07:50

迭代集合的方式的相关文章

List集合去重方式及效率对比

List集合相信大家在开发过程中几乎都会用到.有时候难免会遇到集合里的数据是重复的,需要进行去除.然而,去重方式有好几种方式,你用的是哪种方式呢?去重方式效率是否是最高效.最优的呢?今天就给大家讲解一下List集合去重的常见及常用的四种方式. 01 实现思路:使用两个for循环遍历集合所有元素,然后进行判断是否有相同元素,如果有,则去除.这种方式是大部分最先想到的,也是最简单的实现方式.其中,这种方式可以保证List集合原来的顺序不变. 代码实现: /*** notes:使用两个for循环实现L

sqlMap.xml配置文件中迭代一个集合的方式

比如:根据班级号查询学生的信息,参数是list 1.foreach的用法:[写法一] <select id="getStudentListByClassId" resultMap="StudentResultList"> select * form Student stu where stu.ClassId in <foreach collection="list" item="classList" open

探讨迭代器中为什么不能通过集合的方式删元素而是使用迭代器中的remove()方法经行删除

由该链接引发的思考:http://bbs.itheima.com/forum.php?mod=viewthread&tid=26270&mobile=1 看到这篇文章后,一副似懂非懂的样子,果断将楼主的代码拷贝到eclipse中运行了下,果断发现了些问题. 经过测试,发现总是在当集合中倒数第二个满足条件时程序才可以正常运行,否则,就会抛出ConcurrentModificationException异常 然后,我在while{it.hasNext()){和String str = (Str

递归和迭代两种方式实现归并排序(Java版)

递归版 package MergeSort; import Utils.SortUtils; /** * 归并排序递归版 * @author liguodong */ public class Demo02 { public static void mergeSort(int[] a){ mSort(a, a, 0, a.length-1); } /** * * @param SR为待排序的数据 * @param TR1为排序之后的数据 * @param s * @param t */ publ

ibatis-一个类中包含List集合配置方式

1.创建项目和数据库    项目名称:ibatisdemo2    数据库名:ibatis    表:author        CREATE TABLE `author` (          `id` int(11) DEFAULT NULL,          `name` varchar(30) DEFAULT NULL,          `oid` int(11) DEFAULT NULL        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

Set集合遍历方式

for(String str : set) { System.out.println(str); } for (Iterator iter = set.iterator(); iter.hasNext();) { String str = (String)iter.next(); System.out.println(str); }

JAVA8学习——深入浅出Lambda表达式(学习过程)

JAVA8学习--深入浅出Lambda表达式(学习过程) lambda表达式: 我们为什么要用lambda表达式 在JAVA中,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数的方法. 在JavaScript中,函数参数是一个函数,返回值是另一个函数的情况下非常常见的,JavaScript是一门非常典型的函数式编程语言,面向对象的语言 //如,JS中的函数作为参数 a.execute(callback(event){ event... }) Java匿名内部类实例 后面补充一个匿名内

查询字符串中字母的个数(两种实现方式1,list与set集合 2,map集合)

题目: 取出一个字符串中字母出现的次数.如:字符串:"abcde%^kka27qoq" ,输出格式为:a(2)b(1)k(2)... 第一种方式(set和list结合使用): package itheima; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; /** * .取出一个字符串中字母出现的次数.如:字符串:"

迭代map集合的方法

方式一: 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Set; 4 5 6 public class Test3 7 { 8 9 /** 10 * @param args 11 */ 12 public static void main(String[] args) 13 { 14 //创建集合对象 15 HashMap<String,String> map = new HashMap&