java中的三大集合遍历及foreach循环总结

来源:互联网 发布:晴天软件注册码 编辑:程序博客网 时间:2024/05/22 04:40

对于java中的三大集合的遍历及foreach我做了一个简单的总结,分享一下学习心得。

public static void main(String[] args) {//list集合List<String> list=new ArrayList<String>();list.add("小米");list.add("华为");list.add("中兴");list.add("苹果");list.add("魅族");//1、for循环遍历,省列//2、list独有迭代器遍历集合    ListIterator<String> it=list.listIterator();    while(it.hasNext()) {    System.out.println(it.next());    }        //3、迭代器遍历    Iterator<String> its=list.iterator();    while(its.hasNext()) {    System.out.println(its.next());    }        //Iterator另一种写法    for(Iterator iterator = list.iterator();iterator.hasNext();){                                               System.out.println(iterator.next());                   }        //4、增强for循环    for(String s:list) {    System.out.println(s);     }            System.out.println("-------set--------");    //set集合    Set<String> set=new HashSet<String>();    set.add("张三");    set.add("李四");    set.add("王五");    //将list集合添加到set集合    set.addAll(list);        //1、增强for循环    for(String s:set) {    System.out.println(s);    }        //2、迭代器    Iterator<String> itset=set.iterator();    while(itset.hasNext()) {    System.out.println(itset.next());    }        //迭代器另外一种写法    for(Iterator<String> iterator= set.iterator();iterator.hasNext();) {    System.out.println(iterator.next());    }        System.out.println("-------map集合-----------");    //map集合    Map<Integer, String> map = new HashMap<Integer,String>();    map.put(1, "北京");    map.put(2, "上海");    map.put(3, "南京");    map.put(4, "广州");    map.put(5, "深圳");        //1、增强for循环    Set<Integer> mapset = map.keySet();    for(Integer i:mapset) {    System.out.println(map.get(i));    }        //2、迭代器    Iterator<Integer> itmap = mapset.iterator();    while(itmap.hasNext()) {    System.out.println(map.get(itmap.next()));    }        /* entrySet() 返回此映射中包含的映射关系的 Set 视图     *      * Map.Entry<Integer, String>是一个接口     */    //3、通过entrySet()方法获得映射关系的 Set 视图,用迭代器遍历    Iterator<Map.Entry<Integer, String>> itentry=map.entrySet().iterator();while(itentry.hasNext()) {Map.Entry<Integer, String> entry=itentry.next();System.out.println(entry.getKey()+"\t"+entry.getValue());}//4、通过entrySet()方法获得映射关系的 Set 视图,用增强for循环遍历。推荐,尤其是容量大时Set<Map.Entry<Integer, String>> entryset=map.entrySet();for(Map.Entry<Integer, String> entry:entryset) {System.out.println(entry.getKey()+"\t"+entry.getValue());}//简写如下for(Map.Entry<Integer, String> entry:map.entrySet()) {System.out.println(entry.getKey()+"\t"+entry.getValue());}//5、只遍历值,不能遍历键for(String value:map.values()) {System.out.println(value);}//foreach循环(增强for循环)遍历数组的总结//1、foreach循环遍历数组int [] arr= {1,23,4,32,5,7,99};for(int i:arr) {System.out.println(i);}///2、foreach循环遍历二数组,n维数组依此类推int [][] arr1= {{2,34},{5,76,8},{9,5,33,6}};for(int [] x:arr1) {for(int y:x) {System.out.println(y);}}}