集合的框架图

 什么是集合?

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

  

  

版权声明:本文为LittleBoys原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/LittleBoys/p/12090715.html