集合备忘

来源:互联网 发布:入驻淘宝外卖收费标准 编辑:程序博客网 时间:2024/06/06 03:13
import java.util.*;

public class jihe {
    public static void output(Object a){
        System.out.println(a);
    }
    public static void main(String[] args){
    output("********List************");
    List<String> list=new ArrayList<String>();
    list.add("aa0");
    list.add("aa1");
    list.add("aa2");
    list.add("aa3");
    
    output("创建迭代器 第一种方法输出遍历");
    Iterator<String> it= list.iterator();
    while(it.hasNext()){
        String value=it.next();
        output(value);
        }
    
    output("for 第二种方法输出遍历");
    for(String value2:list){
        System.out.printf("%s\n",value2);
        }
    
    
    output("********Map************");
    Map<Integer,String> map=new HashMap<Integer,String>();
    map.put(1,"ss1");
    map.put(2,"ss2");
    map.put(3,"ss3");
    
    output("Map第一种keySet()方法获取元素******");
    Set<Integer> set=map.keySet();
    //原理:将Map集合中的所有键存入到Set集合中,因为Set集合具备迭代器,所以可以用迭代方式取出所有的键,再根据get方法获取每一个键对应的值。
    //简单说就是:Map集合---->Set集合 ---->迭代器取出
    
    output("创建迭代器 第一种方法输出遍历");
    Iterator<Integer> it2=set.iterator();
    while(it2.hasNext()){
        int key=it2.next();
        output(key+" "+map.get(key));
        
    }
    
    output("for 第二种方法输出遍历");
    for(Integer key:set){
        output(key+" "+map.get(key));
    }
    
    output("Map第二种entrySet()方法获取元素******");
    Set<Map.Entry<Integer, String>> set2 = map.entrySet();
   //原理:将Map集合中的映射关系存入到了Set集合中,而这个映射关系的数据类型是Map.Entry,在通过迭代器将映射关系存入到Map.Entry集合中,
      //并通过其中的getKey()和getValue()放取出键值。
   // 关于Map.Entry :Map是一个接口,其实,Entry也是一个接口,它是Map的子接口中的一个内部接口,就相当于是类中有内部类一样。为何要定义在其内部呢?
      // 原因:a.Map集合中存的是映射关系这样的两个数据,是先有Map这个集合,才可有映射关系的存在,而且此类关系是集合的内部事务。
      //b.并且这个映射关系可以直接访问Map集合中的内部成员,所以定义在内部。
    
    output("创建迭代器 第一种方法输出遍历");
    Iterator<Map.Entry<Integer, String>> it3 =set2.iterator();
    while(it3.hasNext()){
        Map.Entry<Integer, String> me=it3.next();
        int key=me.getKey();
        String value=me.getValue();
        output(key+": "+value);
        
    }
    
    output("for 第二种方法输出遍历");
    for (Map.Entry<Integer, String> me2 : set2) {
        System.out.print(me2.getKey()+" ");
        System.out.println(me2.getValue());

    }
    
    }
}


原创粉丝点击