java_集合的遍历总结

来源:互联网 发布:天谕玉虚捏脸数据图 编辑:程序博客网 时间:2024/05/24 07:05
package cn.itcast.demo3;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Test;

import java.util.Iterator;
import java.util.Map.Entry;

//增强for
public class Demo1 {

    // 增强for是用来进行迭代的。
    // 格式 for(类型 变量名:容器){} 它是对数组或集合进行遍历。

    // 如果要想使用 for-each 要求必须实现Iterable.
    // 1.遍历数组
    // 体验
    @Test
    public void fun1() {
        // 传统方式 通过循环+下标

        int[] arr = { 24, 25, 2, 6 };
        //        
        for (int i = 0; i < arr.length; i++) {

            int arr_value = arr[i]; // 使用下标遍历可以对元素进行精确控制。

            System.out.println(arr_value);

        }

        // 增强for遍历

        for (int arr_value : arr) {

            System.out.println(arr_value);
        }

    }

    // 2.遍历List与Set
    @Test
    public void fun2() {
        // 遍历List
        List list = new ArrayList();
        list.add("abc");
        list.add("def");
        list.add("kkk");
        // 传统遍历
        // 1迭代器 Iterator
        // for (Iterator it = list.iterator(); it.hasNext();) {
        // // list.add("123");// 使用Iterator迭代器,在迭代过程中不能对集合进行操作。
        // System.out.println(it.next());
        // }

        // 2对于List集合可以使用 ListIterator迭代器 ,可以在迭代过程中对集合进行操作。
        // ListIterator it = list.listIterator();
        //
        // while (it.hasNext()) {
        // it.add("a");
        // System.out.println(it.next());
        // }

        // 3使用 get方法获得元素
        // for (int i = 0; i < list.size(); i++) {
        //
        // System.out.println(list.get(i));
        // }

        // 4.使用for-each
        for (Object obj : list) {
            System.out.println(obj);
        }

    }

    // 3.Set
    @Test
    public void fun3() {

        Set set = new HashSet();
        set.add("abc");
        set.add("123");

        // 迭代器
        // for (Iterator it = set.iterator(); it.hasNext();) {
        //
        // System.out.println(it.next());
        // }

        // for-each
        for (Object obj : set) {
            System.out.println(obj);
        }
    }

    // 4.遍历Map ----使用keySet
    @Test
    public void fun4() {

        // Map集合遍历
        Map map = new HashMap();
        map.put("a", "xxx");
        map.put("b", "xxx");
        map.put("c", "xxx");
        // 使用keySet方式

        // for (Iterator it = map.keySet().iterator(); it.hasNext();) {
        // Object key = it.next();
        //
        // Object value = map.get(key);
        //
        // System.out.println(key + "  " + value);
        // }

        for (Object key : map.keySet()) {

            System.out.println(key + "  " + map.get(key));
        }
    }

    // 遍历Map使用 entrySet

    @Test
    public void fun5() {

        Map map = new HashMap();
        map.put("a", "xxx");
        map.put("b", "xxx");
        map.put("c", "xxx");

        // Set set = map.entrySet();
        //
        // for (Iterator it = set.iterator(); it.hasNext();) {
        //
        // Entry obj = (Entry) it.next();
        //            
        // System.out.println(obj.getKey()+"  "+obj.getValue());
        // }

        for (Object obj : map.entrySet()) {

            Entry entry = (Entry) obj;
            System.out.println(entry.getKey() + "  " + entry.getValue());
        }
    }

}

原创粉丝点击