java List循环与Map循环的总结
java List循环与Map循环的总结
做了一下list和map的总结,没有什么技术含量,就全当复习了一下api。
测试环境是在junit4下,如果没有自己写一个main方法也是一样的。
首先是List的三种循环:
@Test publicvoidForListTest(){ List<String>list=newArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); //迭代器循环不需要知道集合的大小以及类型,最佳选择 for(@SuppressWarnings("rawtypes") Iteratoriterator=list.iterator();iterator.hasNext();){ Stringlist=(String)iterator.next(); System.out.println("01)Iteratorfor:==============="+list); } //foreach相对比for来讲,不需要知道集合的长度 for(Stringlist:list){ System.out.println("02)foreach:================="+list); } //for循环既需要知道集合的大小,而且要求是有序的 for(inti=0;i<list.size();i++){ System.out.println("03)for=================="+list.get(i)); } }
然后是Map的四种循环:
@Test publicvoidForMapTest(){ Map<String,String>map=newHashMap<String,String>(); map.put("01","1"); map.put("02","2"); map.put("03","3"); map.put("04","4"); map.put("05","5"); Set<String>keySet=map.keySet(); //1.keyset的foreach方法 for(Stringkey:keySet){ System.out.println("1)keyset:"+"key:"+key+"value:" +map.get(key)); } Set<Entry<String,String>>entrySet=map.entrySet(); //2.entryset的迭代方法 for(@SuppressWarnings("rawtypes") Iteratoriterator=entrySet.iterator();iterator.hasNext();){ @SuppressWarnings("unchecked") Entry<String,String>entry=(Entry<String,String>)iterator .next(); System.out.println("02)entrySet,iterator:key:"+entry.getKey() +"value:"+entry.getValue()); } //3.推荐,容量最大 for(Entry<String,String>entry:entrySet){ System.out.println("03)entrySet,foreach:key:"+entry.getKey() +"value:"+entry.getValue()); } Collection<String>values=map.values(); //4.只循环出value的方法 for(Stringvalue:values){ System.out.println("04)values,justforvalues,value:"+value); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!