zoukankan      html  css  js  c++  java
  • java集合类(2)

    java集合的主要分为三种类型:JAVA集合位于 java.util包
    Set(集)
    List(列表)
    Map(映射)
    
    arrays函数,
    equals():比较两个array是否相等。
    fill():将值填入array中。
    sort():用来对array进行排序。
    binarySearch():在排好序的array中寻找元素。
    arraycopy():array的复制。
    
    集合分类:Collection、List、Set、Map都是接口,不能实例化。
    Collection:List、Set  ;Collection是最基本的集合接口
    Map:HashMap、HashTable
    
    Collection接口的方法:
    boolean add(Object o)      :向集合中加入一个对象的引用   
    void clear()               :删除集合中所有的对象,即不再持有这些对象的引用   
    boolean isEmpty()          :判断集合是否为空   
    boolean contains(Object o) :判断集合中是否持有特定对象的引用   
    Iterartor iterator()       :返回一个Iterator对象,可以用来遍历集合中的元素   
    boolean remove(Object o)   :从集合中删除一个对象的引用   
    int size()                 :返回集合中元素的数目   
    Object[] toArray()         :返回一个数组,该数组中包括集合中的所有元素 
    
    Iterator接口:
    hasNext():判断集合中元素是否遍历完毕,如果没有,就返回true   
    next() :返回下一个元素   
    remove():从集合中删除上一个有next()方法返回的元素。 
    
    set:无须无重复
    HashSet: HashSet类按照哈希算法来存取集合中的对象,存取速度比较快 
    TreeSet :TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。 
    LinkedHashSet:具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序)。
    
    List接口:线性可重复
    ArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。 
    LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。
    Vector
    
    list遍历:
    1: for循环和get()方法: 
        for(int i=0; i<list.size();i++){       
        System.out.println(list.get(i));  
        }  
    2: 使用 迭代器(Iterator): 
        Iterator it=list.iterator();  
        while(it.hashNext()){  
        System.out.println(it.next());  
        }  
    
    Map(映射):  Map没有继承于Collection接口,属于独立分支。
    Object put(Object key, Object value): 向集合中加入元素   
    Object remove(Object key): 删除与KEY相关的元素   
    void putAll(Map t):  将来自特定映像的所有元素添加给该映像   
    void clear():从映像中删除所有映射 
    Object get(Object key):获得与关键字key相关的值 
    containsKey()和containsValue()测试Map中是否包含某个“键”或“值”
    
    map:无须无重复(key),与set类同
    HashMap:Map基于散列表的实现。单线程中   Map<String, String> map = new HashMap<String, String>();
    LinkedHashMap:使用链表维护内部次序。
    TreeMap : 基于红黑树数据结构的实现。单线程中    Map<String, String> map = new TreeMap<String, String>();
    HashTable:多线程中
    
    Map的一般用法
    1.声明一个Map :
    Map map = new HashMap();
    2 .向map中放值 ,注意: map是key-value的形式存放的
    map.put("sa","dd");
    3 .从map中取值 :
    String str = map.get("sa").toString,
    结果是: str = "dd'
    4 .遍历一个map,从中取得key和value :
    Map m= new HashMap();
    for(Object obj : map.keySet()){
    Object value = map.get(obj );
    }
    
    遍历HashMap
    for (String key : map.keySet()) {
        value = map.get(key);
    }
    
    for (Entry<String, String> entry: map.entrySet()) {
        key = entry.getKey();
        value = entry.getValue();
    }
    
    for (String value : map.values()) {
    }
    
    遍历TreeMap:
    for (String key : map.keySet()) {
        value = map.get(key);
    }
    
    for (Entry<String, String> entry: map.entrySet()) {
        key = entry.getKey();
        value = entry.getValue();
    }
    
    for (String value : map.values()) {
    }
    

      

  • 相关阅读:
    Software Solutions CACHE COHERENCE AND THE MESI PROTOCOL
    CACHE COHERENCE AND THE MESI PROTOCOL
    Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
    Organization SYMMETRIC MULTIPROCESSORS
    PARALLEL PROCESSING
    1分钟内发送差评邮件
    Secure Digital
    SYMMETRIC MULTIPROCESSORS
    A Taxonomy of Parallel Processor Architectures
    parallelism
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6687365.html
Copyright © 2011-2022 走看看