标签:map HashMap 迭代 Map put 嵌套 map1 集合
集合的框架图
什么是集合?
集合有两个父接口: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)); } } } }
标签:map,HashMap,迭代,Map,put,嵌套,map1,集合 来源: https://www.cnblogs.com/LittleBoys/p/12090715.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。