集合,迭代器遍历集合,嵌套集合

集合的框架图

什么是集合?

  集合有两个父接口:collection 和  Map

  collection有两个子接口:List 和 Set

     List :子接口有两个常用的实现类ArrayList和LinkedList    存储的数据的方式是有序不唯一的

        ArrayList其实可以理解为一个可变长度的数组,可以通过索引访问相对应的元素

        ArrayList遍历元素和查找指定元素效率比较高

        Linkedlist对元素的增删改时效率比较高  而且LinkedList有几个独有的方法,addFrist()  addLast()   getFrist ()    getLast()   removeFrist()   removeLast()

     Set :子接口有两个常用的实现类HashSet和TreeSet    存储无序  唯一的数据

  Map:有两个常见的实现类 HashMap  HashTable   存储键值对的数据集合  一个Key对应一个value值

   Iterator :遍历集合的迭代器,只可以向前迭代

  collections :是操作集合的一个帮助类,对集合进行排序,查找元素等

遍历嵌套Map集合

public static void main(String[] args) {
        Map<String,Map<String,Object>> map=new HashMap<String, Map<String, Object>>() ;
        Map<String,Object> map1=new HashMap<String, Object>();
        map1.put("a","1");
        map1.put("b","1");
        map1.put("c","1");

        Map<String,Object> map2=new HashMap<String, Object>();
        map2.put("a","1");
        map2.put("b","1");
        map2.put("c","1");

        Map<String,Object> map3=new HashMap<String, Object>();
        map3.put("a","1");
        map3.put("b","1");
        map3.put("c","1");

        map.put("1",map1);
        map.put("2",map2);
        map.put("3",map3);

        Set<String> set=map.keySet();
        for (String s : set) {
            System.out.println(s+" ");
            Map<String,Object> map4=map.get(s);
            Set<String> set1=map4.keySet();
            for (String s1 : set1) {
                System.out.print(" "+s1+" "+map4.get(s1));
            }
            System.out.println();
        }
    }
}

遍历嵌套集合时:由内向外依次给集合添加元素,遍历时:由外向内依次输出

迭代器遍历集合:

public static void main(String[] args) {
		List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
		Map<String,Object> map=new HashMap<String,Object>();
		map.put("1", "a");
		map.put("2", "a");
		map.put("3", "a");
		list.add(map);
		Iterator it = list.iterator();
		while(it.hasNext()){
			Map<String,Object> map1=(Map<String, Object>) it.next();
			Set<String> set=map1.keySet();
			Iterator it1=set.iterator();
			while(it1.hasNext()){
				String ss=(String)it1.next();
				System.out.println(ss+" "+map1.get(ss));
			}
		}
	}
}

  

  

原文地址:https://www.cnblogs.com/LittleBoys/p/12090715.html

时间: 2024-08-29 23:29:58

集合,迭代器遍历集合,嵌套集合的相关文章

Java for循环对集合的遍历

java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 许多情况需要我们遍历出集合中的元素,并做相应的处理. 下面对各种类型的集合的遍历做一些总结,关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 关于List与Set类型集合的遍历: [java] im

【JAVA集合】集合迭代器快速失败行为及CopyOnWriteArrayList

以下内容基于jdk1.7.0_79源码: 什么是集合迭代器快速失败行为 以ArrayList为例,在多线程并发情况下,如果有一个线程在修改ArrayList集合的结构(插入.移除...),而另一个线程正在用迭代器遍历读取集合中的元素,此时将抛出ConcurrentModificationException异常导致迭代遍历失败: ArrayList.Itr迭代器快速失败源码及例子 查看ArrayList的Itr迭代器源码,可以看到Itr为ArrayList的私有内部类,有一个expectedMod

集合的遍历

public static void main(String[] args) { //创建待遍历的集合 Collection c1 = new ArrayList(); c1.add("java"); c1.add("SQL"); c1.add("1999"); //关于集合的遍历 // 1.把集合转换成数组从而实现对集合的便利 //Object[] toArry() Object[] a1 = c1.toArray(); //转成对数组的遍历

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo

java--Map集合常见遍历格式代码

import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * 获取功能: * V get(Object key):根据键获取值 * Set<K> keySet():获取集合中所有键的集合 * Collection<V> values():获取集合中所有值的集合 */ public class MapDemo2 { public stati

迭代器遍历map集合的步骤 黑马程序员

迭代器遍历map集合的步骤: Map map = new HashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "d"); Iterator it = map.entrySet().iterator();//取得map集合的中每个键值对所对应的iterator对象 while(it.hasNext()){ String str = it

迭代器--遍历集合的专用工具

[不使用迭代器遍历集合] 1 package com.hxl; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 import java.util.Collection; 6 7 public class Test { 8 9 public static void main(String[] args) { 10 // 实例化一个集合对象 11 Collection c = new ArrayList<>(); 12 //

迭代器遍历【List、Set、Map】&amp;&amp; 遍历集合的方法总结 &amp;&amp; Collections工具类

整理&&总结 迭代器遍历Iterator[List.Set.Map]example 1 package boom.collection; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.HashSet; 6 import java.util.Iterator; 7 import java.util.List; 8 import java.util.Map; 9 import jav

Java 中List 集合索引遍历与迭代器遍历

package yzhou.iterator; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; public class Test01 { public static void main(String[] args) { List list = new ArrayList(); list.add