zoukankan      html  css  js  c++  java
  • Java基础

    Map笔记:

    import java.util.*;
    
    /**一:Collection接口的
     *  Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap  /TreeMap
     *  Map接口: <键,值>对, 重复的键会进行值得覆盖 ,输出顺序和放入顺序是不一定可以保持顺序的!
     * 修改查询操作: 1.put(key, value), 2.remove(key)  3.putAll(其他map), 复制其他映射中的所有键值对;
     *               4.get(key),返回指定的键key所映射的值;  5.containsKey(key) /containsValue() 存在指定的键/值,则返回true
     *-----------------------------
     *     集合视图方法:
     *          values()
     *          keySet()
     *          entrySet()  :[Map.Entry 接口]四个方法:setValue(V value)/getKey()/getValue()/equals(o)
     *------------------------------
     * LinkedHashedMap 是HashMap类的子类,它保持键的顺序与插入的顺序一致!
     * TreeMap 实现了 SortedMap的接口, SortedMap 接口能保证各项按照关键字升序进行排序(默认自然排序)
     *          构造方法: TreeMap()/TreeMap(Comparator c)/TreeMap(SortedMap m)/TreeMap(Map m)
     *       --------------
     * 二: 集合的输出
     *          1.遍历key集 和value集 ,  Set keyset=mp3.keySet(); 然后使用加强的For循环即可!
     *          2.遍历value集 ,  Collection vals= mp3.values(); 然后使用迭代器for遍历: Iterator i= vals.iterator();
     *          3.//双向迭代器输出 :ListIterator it = all.listIterator()  正向/反向一波
     *          4.遍历键值对!
     */

    测试代码:

    public class TestMap {
        public static void main(String[] args) {
            Map mp=new HashMap();
            mp.put("AAA1",123);
            mp.put("AAA1",1234);
            mp.put("AAA2",124);
            mp.put("AAA3",125);
            System.out.println("-->"+mp.get("AAA1"));
            System.out.println(mp);
    
            HashMap<String,Integer>ss=new HashMap<String,Integer>();
            ss.putAll(mp);
            System.out.println(ss);
    
            Map mp2=new LinkedHashMap();
            mp2.put("AAA1",123);mp2.put("AAA1",1234);mp2.put("AAA2",124);
            mp2.put("AAA3",125);
            System.out.println(mp2+"----"+mp2.getClass()+"------");
    
            Map mp3=new TreeMap();
            mp3.put("AB",123);mp3.put("A",1234);
            mp3.put("X",124);mp3.put("AX",125);
            System.out.println(mp3+"----"+mp3.getClass()+"------");
            //1.遍历key集
            Set keyset=mp3.keySet();
            for (Object o: keyset){
                System.out.print("   "+o);
            }
            System.out.println();
            //2.遍历value集
            Collection vals= mp3.values();
            Iterator i= vals.iterator();
            while(i.hasNext())
                System.out.print("   "+i.next());
            System.out.println();
            //3.遍历键值对,方式1:
            Set st1=mp3.keySet();
            for(Object o:st1)
                System.out.print(o+"---->"+mp3.get(o)+"  ");
            System.out.println();
                        //方式2
            Set st2=mp3.entrySet();
            for(Object o:st2){
                Map.Entry entry=(Map.Entry) o;
                System.out.print(entry.getKey()+":"+entry.getValue()+"  ");
            }
         //双向迭代器输出 :ListIterator   正向/反向一波
            ArrayList<String> all=new ArrayList<String>();
            all.add("Hello");all.add("__");all.add("World");
            ListIterator it=all.listIterator();
            System.out.println("
    先正着 ListIterator:");
            while(it.hasNext())
                System.out.print("  "+it.next());
            System.out.println("
    再逆着返回回去 ListIterator:");
            while(it.hasPrevious())
                System.out.print("  "+it.previous());
        }
    }

    测试结果:

    -->1234
    {AAA3=125, AAA1=1234, AAA2=124}
    {AAA3=125, AAA1=1234, AAA2=124}
    {AAA1=1234, AAA2=124, AAA3=125}----class java.util.LinkedHashMap------
    {A=1234, AB=123, AX=125, X=124}----class java.util.TreeMap------
       A   AB   AX   X
       1234   123   125   124
    A---->1234  AB---->123  AX---->125  X---->124  
    A:1234  AB:123  AX:125  X:124  
    先正着 ListIterator:
      Hello  __  World
    再逆着返回回去 ListIterator:
      World  __  Hello
  • 相关阅读:
    Cassandra vs. HBase
    游戏留存率分析
    Writing a Discard Server
    t
    启动进程 派生 关闭而不关闭
    单页应用 SAP Vue
    TiDB 整体架构 结合yarn zookeeper分析架构
    Writing a Simple YARN Application 从hadoop生态抽出yarn ,单独使用yarn
    Phoenix put the sql back in NoSql
    事件序列化器 Flume 的无数据丢失保证,Channel 和事务
  • 原文地址:https://www.cnblogs.com/zhazhaacmer/p/9792087.html
Copyright © 2011-2022 走看看