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

Posted littleboys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合,迭代器遍历集合,嵌套集合相关的知识,希望对你有一定的参考价值。

集合的框架图

技术图片

 什么是集合?

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

  

  

以上是关于集合,迭代器遍历集合,嵌套集合的主要内容,如果未能解决你的问题,请参考以下文章

集合遍历回顾--迭代器使用

Java中定义一个迭代器(Iterator)遍历完一个集合后,如果还要再遍历一次这个集合?

关于迭代器的for-each遍历集合现象。。。。。

遍历迭代器使用

使用Iterator迭代器循环集合

集合遍历