zoukankan      html  css  js  c++  java
  • Java 集合

    Java 中数组声明后不可修改 –跟C一样 ,C中往往会增加定义HASHTABLE,链表等结构来实现动态的数组

    但在java中,已经有现成的,称为集合

     

    Collection (interface,有迭代器)

    ├List (interface)

    │├LinkedList (class)

    │├ArrayList (class)

    │└Vector (class,同步)

    │ └Stack (class,栈)

    ├Set (interface,不重复元素)

    │├SortedSet (interface)

    │├AbstractSet (abstract class)

    ││├HashSet(class 类似set,基于hashmap)

    ││├TreeSet (class类似set, 带自动排序,基于Treemap)

     

    Map(interface,有迭代器,key,value)
    ├Hashtable
    ├HashMap (同步)

    |- TreeMap (带自动排序)
    └WeakHashMap (自动GC的hashmap)

    Map.Entry Map 的每个子元素接口,所有map均可使用

       

    所有集合均实现迭代器

    //迭代器循环

    Hashtable<String, String> ffh= new Hashtable<String,String>();

    ffh.put("a", "b");

    ffh.put("u", "fff");

    Iterator<String> ddf=ffh.keySet().iterator();

    while (ddf.hasNext()) {

        String k=ddf.next();

        System.out.print("Key"+k);

        String v=ffh.get(k);

        System.out.print("Vlau"+v);

    }

       

    //for

    Vector<String> ddfe= new Vector<String>();

    ddfe.add("fasdfa");

    ddfe.add("");

    for(String fefe:ddfe){

        System.out.print(fefe);

    }

    //for

    HashMap<String, String> hm= new HashMap<String,String>();

    hm.put("ddd","ccc");

    for(Map.Entry<String, String> temp:hm.entrySet()){

        System.out.print(temp.getKey());

        System.out.print(temp.getValue());

    }

       

    //for

    TreeMap<String,String> ddff=new TreeMap<String,String>();

    ddff.put("c", "d");

    ddff.put("a", "b");

    for(Map.Entry<String, String> temp:ddff.entrySet()){

        System.out.print(temp.getKey());

        System.out.print(temp.getValue());

    }

    //for

    Vector<String> tset= new Vector<String>();

    tset.add("a");

    tset.add("b");

    for(String temp:tset){

        System.out.print(temp);

    }

       

    //将数组转为集合,不能修改元素

    String [] c={"a","b"};

    List<String> temp=Arrays.asList(c);

       

      

  • 相关阅读:
    实验四 Android开发基础
    20135322实验五实验报告
    Eclipse中Ant的配置与测试
    实验三 敏捷开发与XP实践
    实验二 Java面向对象程序设计
    Java实验报告一:Java开发环境的熟悉
    简单四则运算
    个人介绍
    团队冲刺第一阶段个人工作总结2
    团队冲刺第一阶段个人工作总结1
  • 原文地址:https://www.cnblogs.com/liushannet/p/3789257.html
Copyright © 2011-2022 走看看