• 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);

       

      

  • 相关阅读:
    QT Launching Debugger 卡住
    VS无法打开源文件"stdio.h"
    QT 5.15 https 无法访问 TLS initialization failed
    .Net 添加第三方控件
    XML解析——DOM解析
    javascript——对象
    SQL Server 合并表 union 和union all
    深入理解HTTP
    HTTP详解(3)-http1.0 和http1.1 区别
    HTTP详解(2)
  • 原文地址:https://www.cnblogs.com/liushannet/p/3789257.html
Copyright © 2020-2023  润新知