package com.wujay.for;
 
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
 
import org.junit.Test;
 
public class DemoFor {
 
    // 数据
    @Test
    public void test1() {
        Set set = new HashSet();
 
        set.add(1);
        set.add(2);
        set.add(3);
        set.add(4);
        set.add(5);
        set.add(6);
        set.add(7);
 
        for (Object obj : set) {
            Integer i = (Integer) obj;
            System.out.println(i);
        }
    }
 
    // 集合.
    @Test
    public void test2() {
        List list = new ArrayList();
 
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        list.add(7);
        list.add(8);
        list.add(9);
 
        for (Object obj : list) {
            Integer i = (Integer) obj;
            System.out.println(i);
        }
    }
 
    // map集合,普通方法,先获取所有key(set集合),根据key获取对应的value
    @Test
    public void test3() {
        Map map = new LinkedHashMap();
 
        map.put("1", "aaa");
        map.put("2", "bbb");
        map.put("3", "ccc");
        map.put("4", "ddd");
 
        // 获取所有key
        Set set = map.keySet();
 
        // 迭代器
        Iterator it = set.iterator();
 
        while (it.hasNext()) {
            String key = (String) it.next();
 
            String value = (String) map.get(key);
 
            System.out.println(key + " = " + value);
        }
    }
 
    @Test
    public void test4() {
        Map map = new LinkedHashMap();
 
        map.put("1", "aaa");
        map.put("2", "bbb");
        map.put("3", "ccc");
        map.put("4", "ddd");
 
        // 获取所有key
        Set set = map.keySet();
 
        for (Object obj : map.entrySet()) {
 
            Map.Entry entry = (Entry) obj;
 
            String key = (String) entry.getKey();
 
            String value = (String) entry.getValue();
 
            System.out.println(key + " = " + value);
 
        }
 
        //
        // //迭代器
        // Iterator it = set.iterator();
        //
        // while(it.hasNext()){
        // String key = (String)it.next();
        //
        // String value = (String) map.get(key);
        //
        // System.out.println(key+" = "+value);
        // }
        //
 
    }
    
    //增强for循环只能取数据不能改数据
    @Test
    public void test5() {
        List list = new ArrayList();
        list.add("1");
        list.add("2");
        
        for(Object obj : list){
            obj="3";
        }
        System.out.println(list);
        
        
        int []arr = new int[]{1,2,3};
        for(int i:arr){
            i=5;
        }
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        
        
        //增强for循环只能取数据不能改数据的原因
        String name1 = "5";
        String name2 = name1;
        name2="6";
        System.out.println(name1);
    }
    
}