zoukankan      html  css  js  c++  java
  • 集合,迭代器遍历集合,嵌套集合

    集合的框架图

     什么是集合?

      集合有两个父接口: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));
    			}
    		}
    	}
    }
    

      

      

  • 相关阅读:
    Lc5413_重新排列句子中的单词
    Lc5412._在既定时间做作业的学生人数
    Lc520_检测大写字母
    threadPoolExecutor的参数和拒绝策略
    coutdownlatch的使用
    volatile的个人理解
    Lc292_Nim 游戏
    Lc136_只出现一次的数字
    lc88_合并两个有序数组
    jdk源码_String(1)
  • 原文地址:https://www.cnblogs.com/LittleBoys/p/12090715.html
Copyright © 2011-2022 走看看